Python利用Pillow库实现九宫格图片切割与EXE打包教程
本文介绍使用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格式,后续再进行研究探讨。
以上就是本文的全部内容,希望能为各位的学习带来帮助,同时也欢迎大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









