朋友圈空白图片凑九张一张图片朋友圈 九宫格专用空白图

2024-05-1105:12:39综合资讯0

日常生活中,大家偶尔会在朋友圈看到把一张照片切成九张的效果,有时由一张照片切成九张照片带来的视觉盛宴是不一样的!

现在许多图片编辑工具中内置了此功能,而微信小程序中也有专门的切图工具。为了熟练巩固练习调库操作,今天就来带大家了解,如何用 Python 实现这个小功能。

让我们先来看看成果,原图为文章开头的图片,一图切九图朋友圈:

在朋友圈发布九张图片时,有一个有趣的现象:上传时,图片的顺序是乱的,需要你先像拼图游戏一样,将它们摆放好位置。

实现这个小功能,需要借助 Python 中的一个图形处理库:Pillow。

Pillow 是从著名 Python 图像处理库 PIL 发展而来,它可以执行图像压缩、图像处理等各种操作。

以下是实现其总体思路的步骤:

  1. 读取原图片,获取图片大小,然后与白色背景生成一个大正方形图片
  2. 将大正方形图片以 33 比例切割,生成 9 个小正方形图片
  3. 分别生成 9 张小正方形图片

根据上述思路,编写代码:

1. 为原图形填充背景,生成大正方形图

代码中的顺序可以理解为以下几个图形:在原始图片的基础上覆盖白色背景:

然后,根据宽度和高度生成规则,分别为以下两种情况:如果宽度大于高度,则图片将横向铺满正方形,而背景图片将填充上下两侧,如下所示:黑色背景可以让画面更具电影质感:

如果高度大于宽度,则图片将竖向铺满正方形,而背景图片会填充左右两侧:

完成了第一步,你就得到了一张填满背景颜色的正方形图片。

2. 对大 正方形进行切割

上述代码实际产生的情况如以下几张图片所示:

首先定位三分线:

根据左上和右下两个像素点的位置,确定新图形:

3. 将9张切割后的图片存储(操作简单,此处省略代码)

Pillow 库提供了丰富的图像处理功能,本次小工具的关键在于如何对原图进行切割。我们采用双重循环按行遍历,双重遍历是一种常见的思维模式,请予以关注。

如果您觉得源代码过于繁琐,可以将代码打包成 exe 文件使用。这样一来,在朋友圈展示您的操作技巧就轻而易举了(例如,更改背景颜色,如黑色背景)。

源代码已上传至 GitHub,欢迎感兴趣的读者通过后台回复 九宫格 获取源码地址。