我正在使用以下路由使用 C#/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 图像)。质量是完美的,但颜色被洗掉了。你知道发生了什么吗?
提前非常感谢。