2012-02-07 27 views
3

生成した画像をA4サイズ@ 600dpi(印刷目的)にするには、7016x4961px @ 72dpiである必要があります。したがって、プログラムで生成し、Photoshopでテストして、サイズを変更すると適切なサイズと解像度が得られます。プログラムで画像の解像度を変更する

Image size dialog in Photoshop

私は、このサイズ変更をプログラマチックに、できればPILで行うことができますが、必ずしもそうとは限りません。私はより高いDPIにする必要があります。

+2

あなたが本当に空飛ぶスパゲッティ・モンスター教の愛のために、それを生成する場合は、希望の解像度でそれを生成します。アップスケーリングが本当に必要な場合は、http://stackoverflow.com/a/1750331/180174 :) – Kimvais

+0

実際には、html5キャンバスで生成してからhttp://www.nihilogic.dk/labs/canvas2image/のimage2canvasで保存しています。私はそこでDPIを制御することはできません。何か案は? –

+0

あなたの質問では、 "72 dpi"は混乱しています。 「7016x4961ピクセルイメージの解像度を600dpiに設定してA4に印刷するにはどうすればいいですか?私は私の答えで説明するようにPILでそれを行うことができます。 – MatthieuW

答えて

8

イメージ7016 x 4961 pxを生成した場合、イメージはすでにA4 600 dpiです。したがって、サイズを変更する必要はありません。解像度情報をファイルに設定するだけで済みます。

あなたはPILでそれを行うことができます。

from PIL import Image 

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

これはjpeg画像でも機能しますか? – FaCoffee

7

このコードは、PILで7016x4961にPNG画像のサイズを変更します:

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

関連する問題