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

时间:2012-02-07 10:09:39

标签: python image resolution dpi

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

Image size dialog in Photoshop

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

2 个答案:

答案 0 :(得分:16)

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

您可以使用PIL执行此操作:

from PIL import Image

im = Image.open("test.png")
im.save("test-600.png", dpi=(600,600))

答案 1 :(得分: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")

或许更好的方法是在打印之前使画布x倍大,其中x是您必须弄清楚的因素(此特定图像的大小为7016x4961)。

相关问题