以编程方式更改图像分辨率

Ser*_*rov 12 python resolution image dpi

我已经计算过,如果我希望生成的图像为A4尺寸@ 600dpi用于打印目的,则需要为7016x4961px @ 72dpi.所以,我以编程方式生成它,然后在Photoshop中测试它似乎很好,所以如果我调整它,它会得到适当的大小和分辨率

Photoshop中的图像大小对话框.

我想知道的是,是否有可能以编程方式调整大小,最好使用PIL,但不一定要使用PIL.我需要让DPI更高.

Mat*_*euW 21

如果您生成了图像7016 x 4961 px,则它已经是600 dpi的A4.所以你不需要调整它,你只需要在文件中设置分辨率信息.

你可以用PIL做到这一点:

from PIL import Image

im = Image.open("test.png")
im.save("test-600.png", dpi=(600,600))
Run Code Online (Sandbox Code Playgroud)


Che*_*wie 10

此代码将使用PIL将PNG图像的大小调整为7016x4961:

size = 7016, 4961
im = Image.open("my_image.png")
im_resized = im.resize(size, Image.ANTIALIAS)
im_resized.save("my_image_resized.png", "PNG")
Run Code Online (Sandbox Code Playgroud)

也许更好的方法是x在打印之前使画布时间更大,这x是您必须弄清楚的因素(此特定图像的大小为7016x4961).