温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python如何生成九宫格照片

发布时间:2022-02-23 10:24:30 来源:亿速云 阅读:164 作者:iii 栏目:开发技术

这篇“Python如何生成九宫格照片”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何生成九宫格照片”文章吧。

一、朋友圈九宫格效果图

二、图片基本操作

  • 打开要处理的图片

  • 判断打开的图片是否为正方形

  • 如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分

  • 保存处理完的图片

第一步,先我安装一下Pillow模块

pip install pillow

1 、处理图片

在Pillow中,用Image子模块。Image.open函数会返回一个图片对象,代码如下:

from PIL import Image # 读取图片 img = Image.open('lbxx.jpg')

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()

3 、保存处理完的图片

保存图片的操作非常简单,我们只需要调用img的save方法即可,代码如下:

from PIL import Image img = Image.open('lbxx.jpg') box = img.crop((0, 0, 300, 300)) # 保存图片 box.save('1.jpg')

三、生成九宫格图片

知道了上面的操作,下面的操作无非就是截取图片的九个区域,然后保存即可。具体代码如下:

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如何生成九宫格照片”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI