利用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 数据加密代码
Dec 24 Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
Python编程实现二分法和牛顿迭代法求平方根代码
Dec 04 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python单元测试与测试用例简析
Nov 09 Python
python 将dicom图片转换成jpg图片的实例
Jan 13 Python
TensorFLow 不同大小图片的TFrecords存取实例
Jan 20 Python
django日志默认打印request请求信息的方法示例
May 17 Python
python 图像增强算法实现详解
Jan 24 Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 Python
Python进程间的通信之语法学习
Apr 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 mcrypt可逆加密算法分析
2011/07/19 PHP
php图片上传存储源码并且可以预览
2011/08/26 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
JavaScript基础之流程控制语句的用法
2017/08/31 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现同时给多个变量赋值的方法
2015/04/30 Python
Python实现线程池代码分享
2015/06/21 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python连接mongodb集群方法详解
2020/02/13 Python
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
德国Discount-Apotheke中文官网:DC德式康线上药房
2020/02/18 全球购物
澳大利亚第一旅行车和房车配件店:Caravan RV Camping
2020/12/26 全球购物
在校生自我鉴定
2014/01/23 职场文书
文秘求职信范文
2014/04/10 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
学校安全管理责任书
2014/07/23 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
稽核岗位职责
2015/02/10 职场文书
大一学生个人总结
2015/02/15 职场文书
新教师教学工作总结
2015/08/14 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
mysql连接查询中and与where的区别浅析
2021/07/01 MySQL
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python
Elasticsearch 索引操作和增删改查
2022/04/19 Python