利用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中的round()方法
May 15 Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 Python
基于python的字节编译详解
Sep 20 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
python 并发编程 非阻塞IO模型原理解析
Aug 20 Python
PyTorch加载预训练模型实例(pretrained)
Jan 17 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 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
如何开发一个虚拟域名系统
2006/10/09 PHP
Php Image Resize图片大小调整的函数代码
2011/01/17 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
浅谈laravel-admin的sortable和orderby使用问题
2019/10/03 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
Python中无限元素列表的实现方法
2014/08/18 Python
Python卸载模块的方法汇总
2016/06/07 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
python获取服务器响应cookie的实例
2018/12/28 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
项目经理岗位职责
2013/11/11 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
财产保全担保书范文
2014/04/01 职场文书
大学生毕业个人总结
2015/02/15 职场文书
超市采购员岗位职责
2015/04/07 职场文书
计划生育责任书
2015/05/09 职场文书
五星级酒店宣传口号
2015/12/25 职场文书