利用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接收Gmail新邮件并发送到gtalk的方法
Mar 10 Python
python简单分割文件的方法
Jul 30 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
django创建简单的页面响应实例教程
Sep 06 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
如何基于python实现脚本加密
Dec 28 Python
Python3爬虫关于识别检验滑动验证码的实例
Jul 30 Python
python调用百度API实现人脸识别
Nov 17 Python
Python 远程开关机的方法
Nov 18 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 Python
python爬取某网站原图作为壁纸
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 header函数分析详解
2011/08/06 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
js完美的div拖拽实例代码
2014/01/22 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
基于jQuery实现照片墙自动播放特效
2017/01/12 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
Python字符串逐字符或逐词反转方法
2015/05/21 Python
详解 Python 与文件对象共事的实例
2017/09/11 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
python生成密码字典的方法
2018/07/06 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
对python中dict和json的区别详解
2018/12/18 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
高中军训感言500字
2014/02/24 职场文书
工程建设实施方案
2014/03/14 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
上甘岭观后感
2015/06/10 职场文书
退货证明模板
2015/06/23 职场文书
学前班教学反思
2016/02/24 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android
MySQL详细讲解变量variables的用法
2022/06/21 MySQL