Python之生成九宫格照片的解决办法
内容摘要
这篇文章主要为大家详细介绍了Python之生成九宫格照片的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
一、朋友圈九宫
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
一、朋友圈九宫
文章正文
这篇文章主要为大家详细介绍了Python之生成九宫格照片的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
一、朋友圈九宫格效果图
二、图片基本操作
- 打开要处理的图片
- 判断打开的图片是否为正方形
- 如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分
- 保存处理完的图片
第一步,先我安装一下Pillow模块
pip install pillow
1 、处理图片
在Pillow中,用Image子模块。Image.open函数会返回一个图片对象,代码如下:
代码如下:
from PIL import Image
# 读取图片
img = Image.open('lbxx.jpg')
教你怎么用Python生成九宫格照片
Pillow模块是PIL模块的python3版本,因此我们导入模块时是使用下面语句:
from PIL import Image
2、 截取图片
在Image对象中,有一个crop方法,用于剪切图片。它接收一个box参数,表示要截取的区域。图片中的坐标系是以左上角为原点的,如图:
我们来看看具体的代码:
代码如下:
from PIL import Image
# 读取图片
img = Image.open('lbxx.jpg')
# 截取图片的(0, 0, 300, 300)区域
box = img.crop((0, 0, 300, 300))
# 显示截取的区域
box.show()
教你怎么用Python生成九宫格照片
3 、保存处理完的图片
保存图片的操作非常简单,我们只需要调用img的save方法即可,代码如下:
代码如下:
from PIL import Image
img = Image.open('lbxx.jpg')
box = img.crop((0, 0, 300, 300))
# 保存图片
box.save('1.jpg')
教你怎么用Python生成九宫格照片
三、生成九宫格图片
如图:
知道了上面的操作,下面的操作无非就是截取图片的九个区域,然后保存即可。具体代码如下:
代码如下:
import os
from PIL import Image
# 读取图片
im = Image.open('1kkx.jpg')
# 宽高各除 3,获取裁剪后的单张图片大小
width = im.size[0]//3
height = im.size[1]//3
# 裁剪图片的左上角坐标
start_x = 0
start_y = 0
# 用于给图片命名
im_name = 1
# 循环裁剪图片
for i in range(3):
for j in range(3):
# 裁剪图片并保存
crop = im.crop((start_x, start_y, start_x+width, start_y+height))
# 判断文件夹是否存在
if not os.path.exists('imgs'):
os.mkdir('imgs')
crop.save('imgs/' + str(im_name) + '.jpg')
# 将左上角坐标的 x 轴向右移动
start_x += width
im_name += 1
# 当第一行裁剪完后 x 继续从 0 开始裁剪
start_x = 0
# 裁剪第二行
start_y += height
教你怎么用Python生成九宫格照片
到此这篇关于教你怎么用Python做九宫格照片的文章就介绍到这了,更多相关Python做九宫格照片内容请搜索php教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持php教程!
注:关于Python之生成九宫格照片的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释