当你需要处理大型图像文件时,有时需要调整图像的大小以便于在特定场景下使用。Python Pillow库(PIL库)的Image类提供了thumbnail()
方法,可以对图像做出缩小或放大的操作,同时可以保持原始图像的纵横比例。
下面是对thumbnail()
方法的完整攻略,包括方法的语法、参数、返回值以及两个示例说明:
语法
thumbnail()
方法用于调整图像大小,其语法如下:
Image.thumbnail(size, resample=None)
参数说明
thumbnail()
方法有两个参数:
size
:要调整的新尺寸,可以是以(width, height)
形式表示的元组,也可以是代表百分比的单个整数参数。参数值是(width, height)
元组结构时,以保持原始图像的长宽比例的方式调整图像的大小,使得宽度不大于width
,高度不大于height
。若传入整数类型参数,则其值表示缩放后图像宽度与高度的比例。resample
:指定缩放时采用的方法。此参数不是必需的,若不提供则默认为图像的底层库,否则可以在Image.LANCZOS
,Image.BOX
,Image.NEAREST
等方法中选择其中之一。
返回值说明
thumbnail()
方法没有显式的返回值,图片大小被独立地缩放以适应给定的新维度,直接修改源图像。
示例说明
下面我们将演示如何使用thumbnail()
方法实现两个不同的示例。假设我们有一张1200720的图片,并需要将它调整至600360大小
示例一:使用(width, height)
形式作为参数
from PIL import Image
image = Image.open("example.jpg")
image.thumbnail((600, 360))
image.show()
输出的结果是在原图基础上,将图大小缩小至600360,并按位加上黑色背景。如果原图的宽高比例与600360不同,则缩小后大小会更小。
示例二:使用整数类型参数
from PIL import Image
image = Image.open("example.jpg")
image.thumbnail(0.5)
image.show()
输出的结果是按照比例将图片大小缩小为其一半,并按位加上黑色背景。如果原始图像的宽高比与给定的比例不同,则缩放后的图像大小会更小。
注意:在Resize方法中也可以使用类似的方式,这两种方法的区别在于thumbnail 方法会将最终图像大小调整至指定的大小范围内,并将未覆盖区域填充为黑色,而 Resize方法则允许图像大小缩小时可以采用裁切等方法。