-
理解分辨率的概念
- 分辨率通常用每英寸点数(DPI,Dots Per Inch)或每厘米点数(DPCM,Dots Per Centimeter)来衡量。在
Pillow
库中,我们可以通过Image
对象的info
属性来查看和修改图片的分辨率相关信息。
- 分辨率通常用每英寸点数(DPI,Dots Per Inch)或每厘米点数(DPCM,Dots Per Centimeter)来衡量。在
-
查看原始图片分辨率
- 首先,使用
Pillow
库打开一张图片,假设你已经通过from PIL import Image
导入了Image
模块,并且使用img = Image.open("original.jpg")
打开了一张图片。 - 然后,可以通过
img.info
来查看图片的一些附加信息,包括分辨率(如果有的话)。例如,在某些带有分辨率信息的 JPEG 或 PNG 图片中,可能会看到'dpi': (300, 300)
这样的键值对,表示这张图片的分辨率是每英寸 300 点。
- 首先,使用
-
在保存时指定分辨率(以 JPEG 为例)
- 当保存为 JPEG 格式时,你可以通过
dpi
参数来指定分辨率。例如,要将图片保存为分辨率为每英寸 72 点的 JPEG 文件,可以这样做:img.save("new_image.jpg", "JPEG", dpi=(72, 72))
- 这里的
dpi
参数是一个包含两个整数的元组,分别表示水平和垂直方向上的每英寸点数。
- 当保存为 JPEG 格式时,你可以通过
-
保存其他格式时指定分辨率(以 PNG 为例)
- 对于 PNG 格式,也可以通过
dpi
参数来指定分辨率。例如:img.save("new_png.png", "PNG", dpi=(96, 96))
- 需要注意的是,不是所有的图片查看器或应用程序都会严格遵循保存的分辨率信息。有些可能会根据自己的默认设置或者显示设备的特性来显示图片。
- 对于 PNG 格式,也可以通过
-
通过调整图像大小来间接控制分辨率(如果原始分辨率信息丢失)
- 如果原始图片没有分辨率信息,或者你想改变实际的物理尺寸(像素大小)来达到特定的分辨率效果,可以先计算出目标尺寸,然后调整图像大小。例如,假设你有一张图片,原始尺寸是
800x600
像素,你想让它在打印时达到每英寸 300 点的分辨率,并且打印尺寸为3x2
英寸,那么你可以按照以下步骤操作:- 计算目标像素尺寸:水平方向像素数 = 3 英寸 * 300 点 / 英寸 = 900 像素,垂直方向像素数 = 2 英寸 * 300 点 / 英寸 = 600 像素。
- 使用
resize
方法调整图像大小:new_size = (900, 600) resized_img = img.resize(new_size) resized_img.save("resized_image.jpg", "JPEG", dpi=(300, 300))
- 如果原始图片没有分辨率信息,或者你想改变实际的物理尺寸(像素大小)来达到特定的分辨率效果,可以先计算出目标尺寸,然后调整图像大小。例如,假设你有一张图片,原始尺寸是
04-24
528
