利用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中的应用之translate和maketrans用法详解
Aug 27 Python
深入源码解析Python中的对象与类型
Dec 11 Python
Python环境变量设置方法
Aug 28 Python
python中子类调用父类函数的方法示例
Aug 18 Python
Python3 模块、包调用&路径详解
Oct 25 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
Python中列表与元组的乘法操作示例
Feb 10 Python
Django uwsgi Nginx 的生产环境部署详解
Feb 02 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Python3搭建http服务器的实现代码
Feb 11 Python
Python爬虫框架之Scrapy中Spider的用法
Jun 28 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中批量替换文件名的实现代码
2011/07/20 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP实现八皇后算法
2019/05/06 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
详解vue与后端数据交互(ajax):vue-resource
2017/03/16 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
vue组件学习教程
2017/09/09 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python aiohttp的使用详解
2019/06/20 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
Ref与out有什么不同
2012/11/24 面试题
出生公证书样本
2014/04/04 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
借款担保书范文
2014/05/13 职场文书
公关活动策划方案
2014/05/25 职场文书
银行给客户的感谢信
2015/01/23 职场文书
施工员岗位职责
2015/02/10 职场文书
结婚堵门保证书
2015/05/08 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书
MySQL创建定时任务
2022/01/22 MySQL