Python / Pillow:如何调整图片大小

Python / Pillow:如何调整图片大小

在本文中,我们将介绍如何使用Python和Pillow库来对图片进行缩放处理。图片缩放是常见的图片处理操作之一,它可以用于调整图片的大小、裁剪图片、生成缩略图等。

阅读更多:Python 教程

1. 安装Pillow库

在开始之前,我们需要先安装Pillow库。可以使用以下命令来安装Pillow

pip install pillow
Python

2. 缩放图片

缩放图片是指改变图片的尺寸大小,通常是将图片的宽度和高度进行调整。下面是一个示例代码,展示了如何使用Pillow库来缩放一张图片:

from PIL import Image

# 打开原始图片
image = Image.open('original_image.jpg')

# 定义目标尺寸
target_width = 800
target_height = 600

# 调整图片尺寸
resized_image = image.resize((target_width, target_height))

# 保存调整后的图片
resized_image.save('scaled_image.jpg')
Python

在这个示例中,我们首先使用Image.open()方法打开了一张原始图片。然后,我们定义了目标尺寸,并使用resize()方法将图片调整到目标尺寸。最后,使用save()方法保存调整后的图片。

3. 等比例缩放

有时候我们可能希望保持图片的宽高比例不变,只调整其中一个维度的尺寸。下面是一个示例代码,展示了如何使用Pillow库来等比例缩放一张图片:

from PIL import Image

# 打开原始图片
image = Image.open('original_image.jpg')

# 定义目标宽度
target_width = 800

# 计算目标高度,使得图片宽高比例不变
target_height = int(image.height * (target_width / image.width))

# 调整图片尺寸
resized_image = image.resize((target_width, target_height))

# 保存调整后的图片
resized_image.save('scaled_image.jpg')
Python

在这个示例中,我们首先使用Image.open()方法打开了一张原始图片。然后,我们定义了目标宽度,并根据原始图片的宽高比例计算出目标高度。接下来,使用resize()方法等比例调整图片尺寸。最后,使用save()方法保存调整后的图片。

4. 铺满缩放

有时候我们希望图片在缩放后能够铺满指定的区域,而不是保持原始图片的宽高比例。下面是一个示例代码,展示了如何使用Pillow库来铺满缩放一张图片:

from PIL import Image

# 打开原始图片
image = Image.open('original_image.jpg')

# 定义目标尺寸
target_width = 800
target_height = 600

# 缩放图片到指定尺寸
scaled_image = image.resize((target_width, target_height))

# 创建一个新的目标尺寸的画布
canvas = Image.new('RGB', (target_width, target_height))

# 计算在画布上放置图片的位置
x = int((target_width - scaled_image.width) / 2)
y = int((target_height - scaled_image.height) / 2)

# 在画布上粘贴缩放后的图片
canvas.paste(scaled_image, (x, y))

# 保存调整后的图片
canvas.save('scaled_image.jpg')
Python

在这个示例中,我们首先使用Image.open()方法打开了一张原始图片。然后,我们定义了铺满缩放的目标尺寸。接下来,使用resize()方法缩放图片到指定尺寸。然后,创建一个新的目标尺寸的画布,并计算在画布上放置图片的位置。最后,使用paste()方法将缩放后的图片粘贴到画布上,并使用save()方法保存调整后的图片。

总结

本文介绍了如何使用Python和Pillow库对图片进行缩放处理。我们学习了普通缩放、等比例缩放以及铺满缩放三种常见的图片缩放方法,并通过示例代码进行了演示。希望本文对你理解和使用图片缩放功能有所帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册