Python实现九宫格朋友圈切图工具及打包教程

半杯拿铁
半杯拿铁
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何使用Python的Pillow库实现朋友圈九宫格图片切割功能。通过比较原图宽高生成正方形底图,居中粘贴后按3x3网格裁剪并保存。此外,文章提供了使用PyInstaller将脚本打包为独立exe文件的完整步骤,方便非编程用户直接运行。

Python九宫格切图原理与实现

PIL(Python Imaging Library)曾是Python中处理图像的强力库,主要支持Python 2.X版本。在Python 3环境中,推荐使用其分支Pillow库,该库继承了PIL的功能并进行了优化,提供了包括图像存储、格式转换及各类图像处理在内的强大功能。

 

朋友圈中常见的九宫格动态往往视觉效果出众,显得颇具格调。本文将演示如何利用Python代码实现这种九宫格图片的自动切割效果。

首先展示几组通过该方法生成的效果图,直观呈现切割后的视觉结果。

实现九宫格切图的核心逻辑主要包含以下几个步骤:

第一步是读取用户提供的原始照片文件。

第二步分析照片的宽度与高度,选取其中较大的数值作为新图片的边长,并基于此边长创建一张正方形的空白图片。

第三步是将读取的原始图片粘贴到上一步创建的空白图片中,确保原图在正方形画布上居中显示。

第四步是对合成后的正方形图片进行网格切割处理。

第五步是将切割好的各部分图片分别保存为独立文件。

核心代码解析

接下来展示具体的Python实现代码。


from PIL import Image

image = Image.open('图片路径.jpg')
width, height = image.size

# 高和宽进行比较,较大的为新图片的长度
new_length = height if height > width else width

# 创建一张正方形空图片,底色为白色,
new_image = Image.new(image.mode, (new_length, new_length), color='white')

# 将要处理的图片粘贴到新创建的图片上,居中
if height > width: # 如果高度大于宽,则填充图片的宽度
 new_image.paste(image, (int((new_length - width) / 2)), 0)
else:
 new_image.paste(image, (0, int((new_length - height) / 2)))

# 朋友圈一排三张图片因此宽度切割成3份
new_length = int(new_length / 3)
# 用来保存每一个切图
box_list = []
for i in range(0, 3):
 for j in range(0, 3):
  # 确定每个图片的位置
  box = (j * new_length, i * new_length, (j + 1) * new_length, (i + 1) * new_length) # (left, top, right, bottom)
  box_list.append(box)
# 通过crop函数对图片进行切割
image_list = [new_image.crop(box) for box in box_list]

for (index, image) in enumerate(image_list):
 image.save(str(index) + '.png', 'PNG')
print("九宫格图片生成完毕!")

打包为exe可执行文件

为了提升使用的便捷性,可以通过pyinstaller工具将Python脚本打包成可执行的exe文件。

pip3 install pyinstaller

执行打包命令后,

pyinstaller -F cut_picture.py

当前目录下会生成一个名为dist的文件夹,其中包含最终所需的exe可执行文件。使用方法十分简单:只需将待切割的图片重命名为“a.jpg”,并将其放入与exe文件相同的目录中,双击运行该exe文件即可完成操作。

以下是使用上述方法生成的最终效果图示例。

综上所述,本文介绍了利用Python进行图片九宫格切割的技术方案。

以上内容为Python实现九宫格式朋友圈功能及“马云”朋友圈示例的详细介绍,希望能对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。