利用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编程模板汇总
Feb 12 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
Jun 13 Python
Python 处理图片像素点的实例
Jan 08 Python
Python enumerate函数功能与用法示例
Mar 01 Python
python笔记_将循环内容在一行输出的方法
Aug 08 Python
Python高级特性 切片 迭代解析
Aug 23 Python
python flask搭建web应用教程
Nov 19 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
django orm模块中的 is_delete用法
May 20 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
Jan 15 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将回调函数作用到给定数组单元的方法
2014/08/19 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
通过Jquery.cookie.js实现展示浏览网页的历史记录超管用
2015/10/23 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
2017/05/26 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
js实现验证码功能
2020/07/24 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
python threading模块操作多线程介绍
2015/04/08 Python
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
python实现简单井字棋游戏
2020/03/04 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
毕业生找工作的求职信范文
2013/12/24 职场文书
关于迟到的检讨书
2015/05/06 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
浅谈PHP7中的一些小技巧
2021/05/29 PHP
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server