2009-06-19 58 views
1

我調整與C#/ GDI +圖片使用以下路由如何處理GDI +圖像調整大小的顏色丟失?

 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 2009-06-19 14:39:37

回答

0

How to disable subsampling with .NET/GDI+?

的問題是的GDI + JPEG編碼器不允許色度抽樣被禁用,所以顏色信息保存在半分辨率。唯一的解決方法可能是使用不同的編碼器,例如ImageMagick,它被建議作爲上述答案。

相關問題