利用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封装对象实现时间效果
Apr 23 Python
python list转dict示例分享
Jan 28 Python
python文件与目录操作实例详解
Feb 22 Python
Python3使用requests包抓取并保存网页源码的方法
Mar 15 Python
Tensorflow卷积神经网络实例
May 24 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
对Python实现简单的API接口实例讲解
Dec 10 Python
用python打印1~20的整数实例讲解
Jul 01 Python
如何用python处理excel表格
Jun 09 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
Jul 15 Python
python实现自动清理文件夹旧文件
May 10 Python
Python 阶乘详解
Oct 05 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
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
用javascript动态调整iframe高度的代码
2007/04/10 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
js表单验证实例讲解
2016/03/31 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
Python Flask前后端Ajax交互的方法示例
2018/07/31 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
python调用webservice接口的实现
2019/07/12 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
python 实现屏幕录制示例
2019/12/23 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
通信专业个人自我鉴定
2013/10/21 职场文书
给国外客户的邀请函
2014/01/30 职场文书
公司捐书倡议书
2015/04/27 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书