利用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 相关文章推荐
在Django的URLconf中使用命名组的方法
Jul 18 Python
python给微信好友定时推送消息的示例
Feb 20 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
Python 可变类型和不可变类型及引用过程解析
Sep 27 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
通过实例了解Python str()和repr()的区别
Jan 17 Python
解决Keras 自定义层时遇到版本的问题
Jun 16 Python
通过实例了解Python异常处理机制底层实现
Jul 23 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 Python
浅谈Python描述数据结构之KMP篇
Sep 06 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实现用户认证及管理完全源码
2007/03/11 PHP
Dedecms常用函数解析
2008/02/01 PHP
深入探讨PHP中的内存管理问题
2011/08/31 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python requests发送post请求的一些疑点
2018/05/20 Python
详解爬虫被封的问题
2019/04/23 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
python异步Web框架sanic的实现
2020/04/27 Python
python 实现性别识别
2020/11/21 Python
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
J2EE模式面试题
2016/10/11 面试题
初中化学教学反思
2014/01/23 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
5种 JavaScript 方式实现数组扁平化
2021/10/05 Javascript