Python黑科技05-小项目-让你的微信朋友圈变得不一般

简介: 努力让自己变得更好,并坚持对外输出价值,让别人因为你的言行而变得更好。只有强大的我们才可以通过自身的努力去帮助他人解决更多的问题,这样不仅我们自身会拥有更加美好的人生,我们身边的人也会收获到更加美好的人生。
设计思路:
1、实现微信九宫格图像,一张完整的图需要裁减成9个小方块;小方块需要是正方形
2、切割小图片的时候 需要计算每张小图的尺寸,使其保持一致
3、计算每张小图片的四个角的坐标;通过坐标实现图片的切割
  • 安装模块
  • pip install pillow

效果展示

image.png

第一步 :填充图像 先将image填充为正方形

from PIL import Image

# 第一步 :填充图像     先将image填充为正方形
def fill_image(img):
    width, height = img.size
    new_image_length = width if width > height else height
   # mode: 模式,通常用"RGB"这种模式
   # size:生成的图像大小
   # color:生成图像的颜色,默认为0,即黑色
    new_image = Image.new(img.mode, (new_image_length, new_image_length), color='white')
   # 判断如果原图的宽大于高,则填充图片的竖直维度
    if width > height:
        new_image.paste(img, (0, int((new_image_length - height) / 2)))
    else:
        new_image.paste(img, (int((new_image_length - width) / 2), 0))
   # 返回
    return new_image

if __name__ == '__main__':
    image = Image.open('./江疏影.png')
    fill_image(image)

第二步 : 裁剪及分割图像

# 第二步 : 裁剪、分割图像
def split_image(img):
    width, height = img.size
    item_width = int(width / 3)
    box_list = []
    # (left, top, right, bottom) 设置图像四元组坐标 (左,上,右,下)
    # 内循环 - 外循环 - 3 * 3 = 9
    for i in range(0, 3):
        for j in range(0, 3):
            #  设置图像四元组坐标 (左,上,右,下)
            box = (j * item_width, i * item_width, (j + 1) * item_width, (i + 1) * item_width)
            box_list.append(box)
    """
    裁剪矩形,返回该图像的矩形区域
    """
    img_list = [img.crop(box) for box in box_list]

    return img_list

if __name__ == '__main__':
    image = Image.open('./江疏影.png')
    image = fill_image(image)
    split_image(image)

第三步 :保存图像

# 第三步 :保存图像
def save_images(img_list):
    index = 1
    for img in img_list:
        # img.save("./九宫格图片/"+str(index) + '.png', 'PNG')
        img.save("./九宫格图片/" + str(index) + '.png')
        index += 1

if __name__ == '__main__':
    save_images(image_list)

最终效果展示

image.png

image.png

如果本文对你学习有所帮助-可以点赞👍+ 关注!将持续更新更多新的文章。

相关文章
|
5天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
104 60
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
66 2
|
2天前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
46 33
|
1月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
51 7
|
2月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
34 4
|
2月前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
116 3
|
3月前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
80 1
|
3月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
401 3
|
3月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
81 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练