利用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 判断一个进程是否存在
Apr 09 Python
python中的装饰器详解
Apr 13 Python
Python3字符串学习教程
Aug 20 Python
python按行读取文件,去掉每行的换行符\n的实例
Apr 19 Python
pytorch使用Variable实现线性回归
May 21 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
完美解决Django2.0中models下的ForeignKey()问题
May 19 Python
python温度转换华氏温度实现代码
Dec 06 Python
python 写一个水果忍者游戏
Jan 13 Python
selenium+超级鹰实现模拟登录12306
Jan 24 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
Python何绘制带有背景色块的折线图
Apr 23 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中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
接收键盘指令的脚本
2006/06/26 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
node.js中路由,中间件,ge请求和post请求的参数详解
2017/12/26 Javascript
JavaScript多种页面刷新方法小结
2019/04/04 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
anaconda如何查看并管理python环境
2019/07/05 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
医生进修自我鉴定
2014/01/19 职场文书
《英英学古诗》教学反思
2014/04/11 职场文书
工会主席事迹材料
2014/06/03 职场文书
超市创业计划书
2014/09/15 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
小学教研工作总结2015
2015/05/13 职场文书
英文辞职信范文
2015/05/13 职场文书
财务年终工作总结大全
2019/06/20 职场文书
导游词之澳门玫瑰圣母堂
2019/12/03 职场文书
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle
docker 制作mysql镜像并自动安装
2022/05/20 Servers