图像质量不好
问题:
我几天前在这里找到了这个功能,但是我再也找不到它了。 它调整图像大小,但输出质量不好。 它看起来像颜色深度是8位。
第一张照片是原件,第二张是Photoshopped,最后一张是由代码调整大小:
样品:
功能:
Image ResizeImage(Image original, int targetWidth)
{
double percent = (double)original.Width / targetWidth;
int destWidth = (int)(original.Width / percent);
int destHeight = (int)(original.Height / percent);
Bitmap b = new Bitmap(destWidth, destHeight);
Graphics g = Graphics.FromImage((Image)b);
try
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage(original, 0, 0, destWidth, destHeight);
}
finally
{
g.Dispose();
}
return (Image)b;
}
看起来像在某个阶段将图像转换为索引颜色像素格式。 检查这篇文章,并尝试显式设置PixelFormat
和Resolution
属性。