既存の画像を 100KB などの特定のファイル サイズで PNG または JPG として保存したいと考えています。
3 に答える
JPG 2000 を使用している場合のみ、ファイル サイズを特定の値に設定できます。JPG を使用すると、さまざまな品質値を試す必要があり、PNG を使用すると、特定の画像と圧縮レベルに対して 1 つのサイズが得られます。画像のサイズを変更して小さいサイズにすることしかできません。
圧縮されていない画像が必要なサイズになるように画像のサイズを変更することもできますが、PNG、特に JPG のファイル サイズは多くの場合、はるかに小さくなります。
PNG は可逆圧縮を使用するため、一定レベル以下に圧縮することはできません。
.NET では、JPG を圧縮して保存し、完成時のファイルの大きさを推測できます。
http://msdn.microsoft.com/en-us/library/system.drawing.image.save(VS.80).aspx - 「JPEG 画像を圧縮値とともに保存する」セクションを参照してください。
また、画像のサイズを変更して小さくすることもできます。
PNG の場合、実際には品質設定がないため、ファイル サイズを実際に制御することはできません。
jpg には、画像の品質を決定する品質設定があります。品質設定を低くすると、ファイルが小さくなります。ただし、通常、「サイズ x のファイルに必要な品質を与える」というオプションはありません。
メモリ内で jpg に変換し、出力の大きさを確認し、品質を上下に調整し、十分に近づくまで繰り返すというかなり非効率的なアプローチを使用して、同じ結果を得ることができます。ひどいように聞こえるかもしれませんが、画像が大きすぎなければ、これを行っている間、短い遅延に誰も気付かないかもしれません。