📜  用Python生成方形或圆形缩略图 – Pillow(1)

📅  最后修改于: 2023-12-03 14:56:18.289000             🧑  作者: Mango

用Python生成方形或圆形缩略图 - Pillow

在这篇文章中,我们将使用Python编程语言和Pillow库来生成方形或圆形缩略图。Pillow是一个强大的图像处理库,它提供了各种功能来处理和操作图像。

安装Pillow库

首先,你需要安装Pillow库。你可以使用pip命令在终端或命令提示符中运行以下命令来安装它:

pip install pillow
生成方形缩略图

下面是一个简单的例子,展示了如何使用Pillow库生成方形缩略图的代码:

from PIL import Image

# 打开图像文件
image = Image.open('input_image.jpg')

# 生成缩略图
thumbnail_size = (200, 200)
thumbnail = image.resize(thumbnail_size)

# 保存缩略图
thumbnail.save('thumbnail.jpg')

以上代码中,我们首先使用Image.open()函数打开输入图像文件。然后,我们使用resize()函数生成一个指定大小的缩略图。最后,我们使用save()函数保存生成的缩略图到目标文件。

生成圆形缩略图

接下来,让我们看一下如何使用Pillow库生成圆形缩略图的代码:

from PIL import Image, ImageDraw

# 打开图像文件
image = Image.open('input_image.jpg')

# 生成缩略图
thumbnail_size = (200, 200)
thumbnail = image.resize(thumbnail_size)

# 创建一个新的图像对象,并设置为透明的背景
circled_thumbnail = Image.new('RGBA', thumbnail_size, (0, 0, 0, 0))

# 创建一个画笔对象
draw = ImageDraw.Draw(circled_thumbnail)

# 绘制一个圆形区域,使其成为圆形缩略图
draw.ellipse((0, 0, thumbnail_size[0], thumbnail_size[1]), fill=(255, 255, 255, 255))

# 将缩略图叠加在圆形区域上
circled_thumbnail.paste(thumbnail, (0, 0), mask=thumbnail)

# 保存圆形缩略图
circled_thumbnail.save('circled_thumbnail.png')

以上代码中,我们首先使用Image.open()函数打开输入图像文件。然后,我们使用resize()函数生成一个指定大小的缩略图。接下来,我们创建一个新的透明背景图像对象并使用ImageDraw.Draw()函数创建一个画笔对象。然后,我们使用draw.ellipse()函数绘制一个圆形区域,使其成为圆形缩略图的边界。最后,我们使用paste()函数将正方形缩略图叠加在圆形缩略图上,并使用save()函数保存圆形缩略图到目标文件。

希望这篇文章对你有所帮助,并让你了解如何使用Python和Pillow库生成方形或圆形缩略图。Pillow库提供了更多功能和选项,可以根据你的具体需求进行进一步的探索和使用。好好享受图像处理的乐趣吧!

参考链接: Pillow官方文档