2012-02-07 76 views
3

我已經計算出如果我希望將生成的圖像作爲A4尺寸@ 600dpi用於打印目的,它需要爲7016x4961px @ 72dpi。所以,我編程生成它,然後在Photoshop中測試它,它似乎很好,所以如果我調整它,它會得到適當的大小和分辨率以編程方式更改圖像分辨率

Image size dialog in Photoshop

我想知道的是,如果有可能以編程方式進行此大小調整,最好使用PIL,但不一定要使用它。我需要讓它更高的DPI。

+2

如果你真的要生成它,因爲飛行麪條怪物的愛,在想要的分辨率生成它。如果你真的需要升級,http://stackoverflow.com/a/1750331/180174 :) – Kimvais 2012-02-07 10:15:22

+0

其實我用html5畫布生成它,然後從http://www.nihilogic.dk/labs/canvas2image/保存image2canvas所以我無法控制那裏的DPI。有任何想法嗎? – 2012-02-07 10:25:27

+0

在你的問題中,「72 dpi」令人困惑。如果你的意思是(就像我想的那樣)「如何將7016x4961像素圖像的分辨率設置爲600dpi,以便它打印在A4上?」那麼你可以用PIL來做,正如我在答案中解釋的那樣。 – MatthieuW 2012-02-07 12:37:50

回答

8

如果您已生成圖片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)) 
+0

這也適用於jpeg圖像嗎? – FaCoffee 2016-02-26 15:18:26

7

該代碼將調整PNG圖像爲7016x4961與PIL:

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)。