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


Posted in Python onSeptember 03, 2020

前言

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

说到切图,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实现朋友圈中的九宫格图片效果

总结

到此这篇关于利用Python实现朋友圈中的九宫格图片效果的文章就介绍到这了,更多相关Python实现朋友圈九宫格图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python正则表达式re模块详解
Jun 25 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
获取python文件扩展名和文件名方法
Feb 02 Python
python画柱状图--不同颜色并显示数值的方法
Dec 13 Python
python实现可逆简单的加密算法
Mar 22 Python
让你Python到很爽的加速递归函数的装饰器
May 26 Python
Python绘制股票移动均线的实例
Aug 24 Python
在OpenCV里实现条码区域识别的方法示例
Dec 04 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
TensorBoard 计算图的查看方式
Feb 15 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
python基于tkinter实现gif录屏功能
May 19 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
Sep 03 #Python
Django实现微信小程序支付的示例代码
Sep 03 #Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 #Python
一篇文章搞懂python的转义字符及用法
Sep 03 #Python
容易被忽略的Python内置类型
Sep 03 #Python
python类共享变量操作
Sep 03 #Python
Python pip install之SSL异常处理操作
Sep 03 #Python
You might like
实用函数2
2007/11/08 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
javascript new fun的执行过程
2010/08/05 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
Bootstrap Modal遮罩弹出层代码分享
2016/11/21 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
vuex实现的简单购物车功能示例
2019/02/13 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
详解微信小程序(Taro)手动埋点和自动埋点的实现
2021/03/02 Javascript
python连接MySQL数据库实例分析
2015/05/12 Python
python 对key为时间的dict排序方法
2018/10/17 Python
python实现浪漫的烟花秀
2019/01/30 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
结构和类有什么异同
2012/07/16 面试题
巾帼文明岗申报材料
2014/05/01 职场文书
学习礼仪心得体会
2014/09/01 职场文书
销售顾问工作计划书
2014/09/15 职场文书
安全保证书
2015/01/16 职场文书
售票员岗位职责
2015/02/15 职场文书
故意杀人案辩护词
2015/05/21 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
Java org.w3c.dom.Document 类方法引用报错
2021/08/07 Java/Android