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

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

相关文章
|
1月前
|
存储 小程序 API
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
【微信小程序】-- uni-app 项目-- 购物车 -- 首页 - 轮播图效果(五十二)
|
1月前
|
小程序 Shell 网络安全
【微信小程序】-- 使用 Git 管理项目(五十)
【微信小程序】-- 使用 Git 管理项目(五十)
|
1月前
|
小程序 安全 JavaScript
从零开始uniapp微信小程序项目到发布(超级详细)
最近微信小程序又掀起一波风潮,本文站在新手的角度出发,比较适合第一次使用uniapp 开发微信小程序的伙伴,或者没有过实战经验的小伙伴参考,从零搭建uniapp小程序项目
132 1
|
1月前
|
小程序 开发工具 git
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
【微信小程序】-- uni-app 项目--- 购物车 -- 配置 tabBar 效果(五十一)
|
1月前
|
数据采集 测试技术 API
python爬虫之app爬取-微信朋友圈
搭建appium环境,appium基本使用,API操作等等
79 0
|
2天前
|
数据采集 存储 人工智能
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
【Python+微信】【企业微信开发入坑指北】4. 企业微信接入GPT,只需一个URL,自动获取文章总结
12 0
|
2天前
|
人工智能 机器人 API
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
【Python+微信】【企业微信开发入坑指北】3. 如何利用企业微信API给微信群推送消息
4 0
|
2天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
6 0
|
2天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
10 0
|
26天前
|
前端开发 JavaScript 数据管理
描述一个使用Python开发Web应用程序的实际项目经验,包括所使用的框架和技术栈。
使用Flask开发Web应用,结合SQLite、Flask-SQLAlchemy进行数据管理,HTML/CSS/JS(Bootstrap和jQuery)构建前端。通过Flask路由处理用户请求,模块化代码提高可维护性。unittest进行测试,开发阶段用内置服务器,生产环境可选WSGI服务器或容器化部署。实现了用户注册登录和数据管理功能,展示Python Web开发的灵活性和效率。
14 4

热门文章

最新文章