利用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正则表达式使用经典实例
Jun 21 Python
python如何在列表、字典中筛选数据
Mar 19 Python
django 在原有表格添加或删除字段的实例
May 27 Python
Python实现的微信好友数据分析功能示例
Jun 21 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
Python大数据之使用lxml库解析html网页文件示例
Nov 16 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 Python
Python celery原理及运行流程解析
Jun 13 Python
Python pymysql模块安装并操作过程解析
Oct 13 Python
分布式全文检索引擎ElasticSearch原理及使用实例
Nov 14 Python
用python修改excel表某一列内容的操作方法
Jun 11 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中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
php创建多级目录的方法
2015/03/24 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
jQuery中cookie插件用法实例分析
2015/12/04 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
Js实现中国公民身份证号码有效性验证实例代码
2017/05/03 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
JavaScript中的this/call/apply/bind的使用及区别
2020/03/06 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
[06:35]2014DOTA2国际邀请赛 老男孩梦圆西雅图中国军团世界最强
2014/07/22 DOTA
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
python pandas模块基础学习详解
2019/07/03 Python
对django2.0 关联表的必填on_delete参数的含义解析
2019/08/09 Python
如何利用Python识别图片中的文字
2020/05/31 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
2014小学植树节活动总结
2014/03/10 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
理财计划书
2014/08/14 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android