利用Python实现朋友圈中的九宫格图片效果

所属分类: 脚本专栏 / python 阅读数: 992
收藏 0 赞 0 分享

前言

大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可。

说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使用 pip install pillow 即可,切图的主要步骤如下:

  1. 打开要处理的图片
  2. 判断打开的图片是否为正方形
  3. 如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分
  4. 保存处理完的图片

主要实现代码如下:

# 填充新的 image
def fill_image(image):
 width, height = image.size
 _length = width
 if height > width:
  _length = height
 new_image = Image.new(image.mode, (_length, _length), color='white')
 if width > height:
  new_image.paste(image, (0, int((_length - height) / 2)))
 else:
  new_image.paste(image, (int((_length - width) / 2), 0))
 return new_image

# 裁剪 image
def cut_image(image):
 width, height = image.size
 _width = int(width / 3)
 box_list = []
 for i in range(0, 3):
  for j in range(0, 3):
   box = (j * _width, i * _width, (j + 1) * _width, (i + 1) * _width)
   box_list.append(box)
   image_list = [image.crop(box) for box in box_list]
 return image_list

# 将 image 列表的里面的图片保存
def save_images(image_list, res_dir):
 index = 1
 if not os.path.exists(res_dir):
  os.mkdir(res_dir)
 for image in image_list:
  new_name = os.path.join(res_dir, str(index) + '.png')
  image.save(new_name, 'PNG')
  index += 1

原图:

效果图:

总结

更多精彩内容其他人还在看

Python实现按特定格式对文件进行读写的方法示例

这篇文章主要介绍了Python实现按特定格式对文件进行读写的方法,可实现文件按原有格式读取与写入的功能,涉及文件的读取、遍历、转换、写入等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现的多线程同步与互斥锁功能示例

这篇文章主要介绍了Python实现的多线程同步与互斥锁功能,涉及Python多线程及锁机制相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现嵌套列表及字典并按某一元素去重复功能示例

这篇文章主要介绍了Python实现嵌套列表及字典并按某一元素去重复功能,涉及Python列表嵌套列表、列表嵌套字典,及按照某一元素去重复的相关操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Python简单读取json文件功能示例

这篇文章主要介绍了Python简单读取json文件功能,结合实例形式分析了Python文件读取及json格式数据相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈python装饰器探究与参数的领取

下面小编就为大家分享一篇浅谈python装饰器探究与参数的领取,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Django的分页器实例(paginator)

下面小编就为大家分享一篇Django的分页器实例(paginator),具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

从CentOS安装完成到生成词云python的实例

下面小编就为大家分享一篇从CentOS安装完成到生成词云python的实例,具有很好的参考价值,希望对大家有所帮助
收藏 0 赞 0 分享

Python中单、双下划线的区别总结

这篇文章主要给大家介绍了关于Python中单、双下划线区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
收藏 0 赞 0 分享

vscode 远程调试python的方法

本篇文章主要介绍了vscode 远程调试python的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈python 里面的单下划线与双下划线的区别

这篇文章主要介绍了浅谈python 里面的单下划线与双下划线的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多