所以我遇到了一个相当奇怪的情况。
我用下面的代码来保存一个PNG (无损)图像,
public static void SaveJpeg(string path, Image image, int quality)
{
if ((quality < 0) || (quality > 100))
{
string error = string.Format("Jpeg image quality must be between 0 and 100, with 100 being the highest quality. A value of {0} was specified.", quality);
throw new ArgumentOutOfRangeException(error);
}
EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
ImageCodecInfo imgCodec = GetEncoderInfo("image/png");
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
image.Save(path, imgCodec, encoderParams);
}
public static ImageCodecInfo GetEncoderInfo(string mimeType)
{
string lookupKey = mimeType.ToLower();
ImageCodecInfo foundCodec = null;
if (Encoders.ContainsKey(lookupKey))
{
foundCodec = Encoders[lookupKey];
}
return foundCodec;
}这段代码在XP中运行得很好,图像可以无损地保存,当我放大时,我看不到任何像素化,但是,当同样的编译应用程序在windows7机器上运行时,保存的图像看起来像是像素化的。
这是因为我保存图像的方式,还是Windows7中图像保存功能/编码的某些变化?
发布于 2011-09-03 02:32:06
您的Win7镜像是anti-aliased。
这是好的,不是坏的;它使文本更流畅。
它由Graphics类中的属性控制。
https://stackoverflow.com/questions/7287279
复制相似问题