2012-04-25 12 views
2

私は、帯域幅の問題のために、画像をダウンサイジングして変換するための小さなアプリを書いています。 png形式で保存すると、イメージが縮小された場合、結果のファイルはと大きくなります。単にpngに変換して解像度を大きくするだけです。小型化されたPNGがオリジナルよりも大きい

私はGDI +を使用して、サイズ変更/変換をSystem.Drawing名前空間で行っています。

私はそれがPixelFormatの問題だと思っていましたが、着信ピクセル形式を使用するように暗黙的に指定することでそれを排除しました。

this imageのファイルサイズがthan this oneの3倍のサイズになっていても、その理由を教えてもらえますか?それらは、24ビット/ピクセルの両方のPNGです。

答えて

3

アンチエイリアスのように見えます。画像はもはや真っ直ぐな黒/白ではないので、効率的に圧縮することは難しい。

+0

正しい。アンチエイリアス処理されたエッジは、lzwアルゴリズムの高エントロピーデータのように見えます。 – usr

+0

アンチエイリアスを制御するこれらの設定はどれですか? 'graphic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; graphic.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; graphic.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality; ' –

+0

補間モードは、あなたが望むものです。私は他の選択肢が何であるか分かりませんが、出力にも影響するように見えます。 – Brad

関連する問題