欢迎访问宙启技术站
智能推送

使用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()函数的参数,可以实现各种不同的图片大小调整效果。