3

299DPI解像度としてタグ付けされたBMPがあります。これを99DPIに変更したいと思います。

重要なことに、BMPのDPIマーカーには構造的な意味がありません。画像には、ピクセル単位で特定の幅と高さがあります。表示アプリケーションは、インチ単位の任意の幅で画像を表示できます。

したがって、DPIは単なるヒントです。

ただし、このマーカーによって動作が異なるサードパーティソフトウェアを扱っているため、リセットする必要があります。

JavaやGUIグラフィックツール(Gimpなど)でこれをプログラムで行う方法についての提案をいただければ幸いです。

4

2 に答える 2

2

.Netでは、BitmapクラスのSetResolutionメソッドを使用して画像のDPIプロパティを設定できます。残念ながら、Javaでそれを行う方法がわかりません。[ 「これをプログラムで(特にJavaで)行う方法」という最初の質問を更新します。これが、.Netソリューションについて言及した理由です。]

そして、GIMPで解像度プロパティを変更する方法は次のとおりです。http://docs.gimp.org/en/gimp-image-print-size.html
Paint .Net(無料の.Netベースの画像編集ツール)では、次のようになります。 [画像]->[サイズ変更]->[解像度]フィールドを変更します。

于 2011-01-01T16:39:44.173 に答える
2

Javaの部分では、img4jライブラリを使用できます。BMP用のエンコーダーとデコーダーがあります。InfoHeaderクラスには、解像度を設定するためのiXpixelsPerMとiYpixelsPerMがあります。詳細については、ここでBMPファイル形式を確認してください。

さらに、ライブラリはオープンソースであるため、コードがどのように機能しているかを確認して理解し、ニーズに合わせてコードを適応させることができます(ライセンスモデルに準拠している場合)。

(あけましておめでとう! :)

于 2011-01-01T19:55:38.577 に答える