2009-06-19 12 views
1

Iは、C#/ GDIで画像をリサイズ+以下ルーティングGDI +イメージの色のロスを処理する方法Resize?

 bmpOut = new Bitmap(lnNewWidth, lnNewHeight); 
     Graphics g = Graphics.FromImage(bmpOut); 
     g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear; 
     g.FillRectangle(Brushes.White, 0, 0, lnNewWidth, lnNewHeight); 
     g.DrawImage(loBMP, 0, 0, lnNewWidth, lnNewHeight); 

を使用して、最高品質とそれをコードしています。

System.Drawing.Imaging.Encoder qualityEncoder = System.Drawing.Imaging.Encoder.Quality; 
      EncoderParameter myEncoderParameter = new EncoderParameter(qualityEncoder, 100L); 

しかし、私が得た画像は色がかなり失われています(私はJPG画像のみを使用しています)。品質は完璧ですが、色は洗い流されます。あなたは何が起こっているか考えていますか?

ありがとうございます。

+0

実際の保存通話のように、少しコードを投稿できますか?また、サンプル画像をどこかに投稿できますか? – balpha

答えて

0

How to disable subsampling with .NET/GDI+?

問題はGDI +のJPEGエンコーダは、クロマサブサンプリングは非常に色情報が半分の解像度で保存され、無効にすることを許可しないことです参照してください。唯一の回避策は、上記の答えとして示唆されたImageMagickなどの別のエンコーダを使用することです。

関連する問題