2009-10-11 12 views
6

私が書いたJava図形作成ツールを使用して作成された図がたくさんあります。図は黒と白の図がほとんどで、ブロックは水色で、時には他の色です。彼らは現在JPGファイルとして保存されており、Print On Demandの準備をしている本に挿入したいと思います。PNGファイル用にDPIを設定する

この本はOpenOffice ODTファイルであり、後でPDFに変換されます。

現在、私はJPGファイルを使用していますが、使用する印刷機能には300 DPIが必要です。したがって、xDensityとyDensityを300に設定し、getAsTree()を使用してresUnitsを1に設定し、 3(300/96)のファクターで表示されます。 IMOの結果はかなり良く見えます!

残念なことに、別のフォーラムの誰かが、線図がJPGファイルに「あいまい」していると指摘しました。そのため、ODTファイルを挿入できるPNGまたはおそらくBMPファイルに切り替えることをお勧めします。

私の問題は、BMPにはDPIがないように見えますが、PNGMetadataはgetAsTree()をサポートしていないようです。誰かが私を正しい方向に向けることができますか?ありがとう。

答えて

0

私がいないことに決めましたプログラムでこれを実行してください。代わりにPNGで元の図を作成し、Irfanviewを使用して300 DPIに変換します。 Irfanviewのバッチ機能により、300 DPIに変換し、補正するためにスケールアップし、グレースケールに設定することができます。これは最善の解決策であるようですが、とにかく皆のおかげです!

3

PNG、BMPなど数多くの画像フォーマットではダイアグラムが圧縮されない可能性があります。圧縮はおそらくコメント者が得ていたものです。 JPEGは写真には最適ですが、ダイアグラムでは吸い取ります。

SVGやその他のベクター形式を調べたい場合があります。また、環境に応じて、0%圧縮JPEGをエクスポートし、300DPIでロスレス再生を行うために別のフォーマットに変換することもできます。

希望に役立ちます!

+0

他の人がSVGに言及しました - 私は見ていきます - ありがとう! –

+0

+1。この質問は、ベクトル対ラスタ画像に関するものです。そしてOPは確かに自己作成の図のためのベクトルを使用する必要があります。 – Sparhawk

+1

PNGは確かに画像を圧縮します。これは、JPEGの損失圧縮とは対照的に、ロスレス圧縮です。 – Matt

19

私は(getAsTreeを理解していない)部分が、あなたがImageMagickのコンバートツールを使用することができ、PNGファイル用のDPI設定、タイトルに表示される質問に答える:

convert -density 300 -units pixelsperinch infile.jpg outfile.png 
+0

私はちょうどDPIをプログラム的に設定したいと思っていたのですが、私は気が変わった!だから、imagemagickは面白そうに聞こえる - ありがとう! –

+0

入力としてPNGを入力すると、アルファチャンネルが失われているようです。 –

+1

"-alpha Set"または "-alpha On"のどちらかが役に立ちます。しかし、ドキュメンテーション(http://www.imagemagick.org/script/command-line-options.php)はちょっと混乱しており、テストするためのアルファチャンネルpngはありません。 – RobS

関連する問題