Python如何生成九宫格照片
这篇“Python如何生成九宫格照片”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何生成九宫格照片”文章吧。
一、朋友圈九宫格效果图二、图片基本操作打开要处理的图片
判断打开的图片是否为正方形
如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分
保存处理完的图片
第一步,先我安装一下Pillow模块
pip install pillow
1 、处理图片
在Pillow中,用Image子模块。Image.open函数会返回一个图片对象,代码如下:
fromPILimportImage#读取图片img=Image.open('lbxx.jpg')
Pillow模块是PIL模块的python3版本,因此我们导入模块时是使用下面语句:
from PIL import Image
2、 截取图片
在Image对象中,有一个crop方法,用于剪切图片。它接收一个box参数,表示要截取的区域。图片中的坐标系是以左上角为原点的
我们来看看具体的代码:
fromPILimportImage#读取图片img=Image.open('lbxx.jpg')#截取图片的(0,0,300,300)区域box=img.crop((0,0,300,300))#显示截取的区域box.show()
3 、保存处理完的图片
保存图片的操作非常简单,我们只需要调用img的save方法即可,代码如下:
fromPILimportImageimg=Image.open('lbxx.jpg')box=img.crop((0,0,300,300))#保存图片box.save('1.jpg')三、生成九宫格图片
知道了上面的操作,下面的操作无非就是截取图片的九个区域,然后保存即可。具体代码如下:
importosfromPILimportImage#读取图片im=Image.open('1kkx.jpg')#宽高各除3,获取裁剪后的单张图片大小width=im.size[0]//3height=im.size[1]//3#裁剪图片的左上角坐标start_x=0start_y=0#用于给图片命名im_name=1#循环裁剪图片foriinrange(3):forjinrange(3):#裁剪图片并保存crop=im.crop((start_x,start_y,start_x+width,start_y+height))#判断文件夹是否存在ifnotos.path.exists('imgs'):os.mkdir('imgs')crop.save('imgs/'+str(im_name)+'.jpg')#将左上角坐标的x轴向右移动start_x+=widthim_name+=1#当第一行裁剪完后x继续从0开始裁剪start_x=0#裁剪第二行start_y+=height
以上就是关于“Python如何生成九宫格照片”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。