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 учебный класс.

Другие вопросы по тегам