Python利用Pillow库实现九宫格图片切割与EXE打包教程

小满
小满
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍使用Python的Pillow库将单张图片切割为九宫格的方法。通过填充正方形、等分裁剪及保存步骤实现效果,并演示使用PyInstaller将脚本打包为独立EXE文件,支持指定图标,便于长期在本地使用。

本文分享使用Python生成九宫格图片的具体实现代码,供读者参考学习。

核心思路是利用Image类将一张原始图片分割为9张小图,这是制作朋友圈九宫格图片的实用工具。若将其打包为EXE可执行文件,可实现长期本地使用。

具体处理效果大致如下:

所需依赖库为:pillow

完整源代码如下:

# pengyouquanPicture.py
# 朋友圈九宫格图片制作
 
from PIL import Image
import sys
 
# 先将input image 填充为正方形
def fill_image(image):
 width, height = image.size
 #选取原图片长、宽中较大值作为新图片的九宫格半径
 new_image_length = width if width > height else height
 #生产新图片【白底】
 new_image = Image.new(image.mode,(new_image_length, new_image_length), color='white')
 #将原图粘贴在新图上,位置为居中
 if width > height:
 new_image.paste(image,(0, int((new_image_length-heigth) / 2)))
 else:
 new_image.paste(image,(int((new_image_length-width) / 2), 0))
 return new_image
 
# 将图片切割成九宫格
def cut_image(image):
 width, height = image.size
 #一行放3张图
 item_width = int(width / 3)
 box_list = []
 for i in range(0,3):
 for j in range(0,3):
 box = (j*item_width,i*item_width,(j+1)*item_width,(i+1)*item_width)
 box_list.append(box)
 image_list = [image.crop(box) for box in box_list]
 return image_list
#保存图片
def save_images(image_list):
 index = 1
 for image in image_list:
 image.save(str(index) + '.png', 'PNG')
 index += 1
 
if __name__ == '__main__':
 file_path = "1.jpg"
 image = Image.open(file_path)
 #image.show()
 image = fill_image(image)
 image_list = cut_image(image)
 save_images(image_list)

关于如何打包为EXE文件的操作说明:

pyinstaller.exe -F pengyouquanPicture.py -i "b8.ico"

将生成的EXE文件与待分割的图片放置于同一目录下,并将图片重命名为1.jpg。直接运行该EXE文件,即可得到9张分割后的照片。

补充说明:关于如何进一步打包为APP格式,后续再进行研究探讨。

以上就是本文的全部内容,希望能为各位的学习带来帮助,同时也欢迎大家多多支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表