使用Python中的Resize()函数调整图片大小的实用技巧和案例
发布时间:2024-01-15 08:05:29
在Python中,图像处理库PIL(Pillow)提供了Resize()函数来调整图片的大小。Resize()函数可以根据指定的参数调整图片的宽度和高度,使其符合要求。
下面是一些Resize()函数的实用技巧和案例:
1. 调整图片的比例:
可以使用Resize()函数将图片的宽度和高度同时乘以一个比例因子,从而按照比例调整图片的大小。例如,将图片的宽度和高度同时乘以0.5,则可以将图片缩小为原来的一半。
from PIL import Image
img = Image.open('input.jpg')
width, height = img.size
new_width = int(width * 0.5)
new_height = int(height * 0.5)
resized_img = img.resize((new_width, new_height))
resized_img.save('output.jpg')
2. 调整图片的宽度或高度:
如果只想调整图片的宽度或高度,可以将另一个维度的大小设置为原始图片大小。可以使用Resize()函数的 个参数指定调整后的宽度,第二个参数指定调整后的高度。
from PIL import Image
img = Image.open('input.jpg')
width, height = img.size
new_width = 300
resized_img = img.resize((new_width, height))
resized_img.save('output.jpg')
3. 等比例缩放图片:
在保持图片的宽高比不变的情况下,可以根据一个给定的最大边长调整图片的大小。可以先计算出当前图片的宽高比,然后根据最大边长得到新的宽度和高度。
from PIL import Image
img = Image.open('input.jpg')
width, height = img.size
max_size = 500
aspect_ratio = width / height
new_width = max_size if width > height else int(max_size * aspect_ratio)
new_height = int(new_width / aspect_ratio)
resized_img = img.resize((new_width, new_height))
resized_img.save('output.jpg')
4. 裁剪图片:
除了调整图片的大小,还可以使用Resize()函数对图片进行裁剪。可以先调整图片的大小,然后使用crop()函数裁剪指定区域的图片。
from PIL import Image
img = Image.open('input.jpg')
width, height = img.size
new_width = 500
new_height = 500
resized_img = img.resize((new_width, new_height))
left = (new_width - 300) / 2
top = (new_height - 300) / 2
right = left + 300
bottom = top + 300
cropped_img = resized_img.crop((left, top, right, bottom))
cropped_img.save('output.jpg')
以上是一些使用Resize()函数调整图片大小的实用技巧和案例。通过灵活运用Resize()函数的参数,可以实现各种不同的图片大小调整效果。
