利用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的Flask框架来构建一个简单的数字商品支付解决方案
Mar 31 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
win系统下为Python3.5安装flask-mongoengine 库
Dec 20 Python
python中关于for循环的碎碎念
Jun 30 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
python中sys.argv函数精简概括
Jul 08 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
Python常用特殊方法实例总结
Mar 22 Python
详解python播放音频的三种方法
Sep 23 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 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.ini 配置文件的深入解析
2013/06/17 PHP
Laravel框架中实现使用阿里云ACE缓存服务
2015/02/10 PHP
PHP+MYSQL实现用户的增删改查
2015/03/24 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
javascript实现遮罩层动态效果实例
2019/05/14 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
python缩进区别分析
2014/02/15 Python
Python 字符串与数字输出方法
2018/07/16 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
为什么python比较流行
2020/06/19 Python
Python中的面向接口编程示例详解
2021/01/17 Python
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
周年庆典邀请函范文
2014/01/23 职场文书
法制宣传口号
2014/06/16 职场文书
中秋晚会活动方案
2014/08/31 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
javascript的var与let,const之间的区别详解
2022/02/18 Javascript