image.Save без потерь качества, в XP, pixelated на Windows7?
Так что я столкнулся с довольно странной ситуацией.
Я использую следующее, чтобы сохранить изображение в формате 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, сохраненное изображение выглядит пиксельным.
Это связано с тем, как я сохраняю изображение, или, возможно, что-то меняется с помощью функции сохранения / кодирования изображений в Windows 7?
1 ответ
Ваше изображение Win7 сглажено.
Это хорошо, не плохо; это делает текст более гладким.
Это контролируется свойствами в Graphics
учебный класс.