生成した画像をA4サイズ@ 600dpi(印刷目的)にするには、7016x4961px @ 72dpiである必要があります。したがって、プログラムで生成し、Photoshopでテストして、サイズを変更すると適切なサイズと解像度が得られます。プログラムで画像の解像度を変更する
私は、このサイズ変更をプログラマチックに、できればPILで行うことができますが、必ずしもそうとは限りません。私はより高いDPIにする必要があります。
生成した画像をA4サイズ@ 600dpi(印刷目的)にするには、7016x4961px @ 72dpiである必要があります。したがって、プログラムで生成し、Photoshopでテストして、サイズを変更すると適切なサイズと解像度が得られます。プログラムで画像の解像度を変更する
私は、このサイズ変更をプログラマチックに、できればPILで行うことができますが、必ずしもそうとは限りません。私はより高いDPIにする必要があります。
イメージ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))
これはjpeg画像でも機能しますか? – FaCoffee
このコードは、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です)。
あなたが本当に空飛ぶスパゲッティ・モンスター教の愛のために、それを生成する場合は、希望の解像度でそれを生成します。アップスケーリングが本当に必要な場合は、http://stackoverflow.com/a/1750331/180174 :) – Kimvais
実際には、html5キャンバスで生成してからhttp://www.nihilogic.dk/labs/canvas2image/のimage2canvasで保存しています。私はそこでDPIを制御することはできません。何か案は? –
あなたの質問では、 "72 dpi"は混乱しています。 「7016x4961ピクセルイメージの解像度を600dpiに設定してA4に印刷するにはどうすればいいですか?私は私の答えで説明するようにPILでそれを行うことができます。 – MatthieuW