利用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从有道词典网页获取单词翻译
Jul 03 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
python opencv3实现人脸识别(windows)
May 25 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
python装饰器相当于函数的调用方式
Dec 27 Python
Python decorator拦截器代码实例解析
Apr 04 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 Python
python3 简单实现组合设计模式
Jul 02 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 Python
python制作抽奖程序代码详解
Jan 15 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 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
德劲1103的维修打理经验
2021/03/02 无线电
PHP简单日历实现方法
2016/07/20 PHP
php弹出提示框的是实例写法
2019/09/26 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
newxtree.js代码
2007/03/13 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
vue中的scope使用详解
2017/10/29 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
原生js拖拽实现图形伸缩效果
2020/02/10 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
利用python代码写的12306订票代码
2015/12/20 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
解决python父线程关闭后子线程不关闭问题
2020/04/25 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
HTML5 对各个标签的定义与规定:body的介绍
2012/06/21 HTML / CSS
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
巴西手表购物网站:eclock
2019/03/19 全球购物
会计岗位职责
2013/11/08 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
关爱空巢老人感想
2015/08/11 职场文书
教学反思怎么写
2016/02/24 职场文书
浅谈Python数学建模之线性规划
2021/06/23 Python