利用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随机生成数模块random使用实例
Apr 13 Python
Python图片裁剪实例代码(如头像裁剪)
Jun 21 Python
浅谈python中的占位符
Nov 09 Python
Python中用psycopg2模块操作PostgreSQL方法
Nov 28 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
python的set处理二维数组转一维数组的方法示例
May 31 Python
python卸载后再次安装遇到的问题解决
Jul 10 Python
pycharm不能运行.py文件的解决方法
Feb 12 Python
基于opencv实现简单画板功能
Aug 02 Python
Python自动化办公Excel模块openpyxl原理及用法解析
Nov 05 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 Python
Pytorch DataLoader shuffle验证方式
Jun 02 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
PHP中date()日期函数有关参数整理
2011/07/19 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
Laravel模型间关系设置分表的方法示例
2018/04/21 PHP
laravel 使用事件系统统计浏览量的实现
2019/10/16 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
js document.write()使用介绍
2014/02/21 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
python执行等待程序直到第二天零点的方法
2015/04/23 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python编写一个优美的下载器
2018/04/15 Python
jupyter notebook tensorflow打印device信息实例
2020/04/20 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
SQL Server面试题
2016/10/17 面试题
小学安全教育材料
2014/02/17 职场文书
药品业务员岗位职责
2014/04/17 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
失职检讨书大全
2015/01/26 职场文书
教师辞职书范文
2015/02/26 职场文书
详解Go语言Slice作为函数参数的使用
2021/07/02 Golang