python简单实现9宫格图片实例
作者:FXL 时间:2021-10-22 13:23:25
在日常生活中我们经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图。
那么我们如何自己动手实现呢?
说到切图Python 就可以实现,主要用到的 Python 库为 Pillow,安装使用 pip install pillow 即可,切图的主要步骤如下:
1、打开要处理的图片
2、判断打开的图片是否为正方形,如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分
3、保存处理完的图片
主要实现代码如下:
# 填充新的 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
我们来看一下实现效果:
来源:https://www.py.cn/toutiao/20079.html
标签:python,九宫格图片
0
投稿
猜你喜欢
Python Django模板系统详解
2021-09-05 23:17:20
firefox 2正则表达式
2008-08-25 19:15:00
PHP实现加减乘除最简单的实例分享
2023-06-14 16:17:41
破解加密的网页代码方法
2010-03-16 12:35:00
Firefox window.close()的使用注意事项
2024-04-17 10:11:12
详解Python if-elif-else知识点
2022-02-23 16:06:23
MSSQL 生成日期列表代码
2024-01-26 23:58:01
OpenCV+python实现实时目标检测功能
2023-11-03 01:59:35
如何在Python对Excel进行读取
2022-02-25 15:51:59
Oracle临时表空间删除和重建实现过程
2023-07-18 09:26:04
基于js里调用函数时,函数名带括号和不带括号的区别
2023-08-24 05:05:41
Mysql数据库备份和还原常用的命令
2011-12-01 10:41:54
Python 中 sorted 如何自定义比较逻辑
2021-09-16 23:43:37
python标准库random模块处理随机数
2023-11-23 16:22:49
利用python爬取散文网的文章实例教程
2023-06-17 10:40:18
Numpy中array数组对象的储存方式(n,1)和(n,)的区别
2022-08-28 03:08:32
python3.4爬虫demo
2023-10-24 21:46:24
Python3实现获取图片文字里中文的方法分析
2023-09-19 09:31:34
深入浅析ASP在线压缩access数据库的方法
2024-01-25 16:09:11
python画立方体--魔方
2022-04-22 10:20:43