В приложении asp.net 2.0 я пытаюсь создать миниатюры из загруженных изображений. Однако, когда я тестирую приложение на моем ПК под Windows7, оно работает нормально, но на реальном Windows 2003 Server измененное изображение имеет худшее качество.
Откуда эта разница? Другой кодек JPEG или что, если да, как его можно обновить на Win 2003 Server? Спасибо!
Вот код:
Изменение размера изображения :
Bitmap newBmp = new Bitmap (imgWidth, imgHeight, PixelFormat.Format24bppRgb);
newBmp.SetResolution (inputBmp.HorizontalResolution,
inputBmp.VerticalResolution);
// Создать графический объект, прикрепленный к
новая растровая графика newBmpGraphics
= Graphics.FromImage (newBmp);
newBmpGraphics.InterpolationMode =
InterpolationMode.HighQualityBicubic;
newBmpGraphics.SmoothingMode =
SmoothingMode.HighQuality;
newBmpGraphics.PixelOffsetMode =
PixelOffsetMode.HighQuality;
newBmpGraphics.DrawImage (inputBmp, new
Прямоугольник (0, 0, imgWidth, imgHeight),
новый прямоугольник (0, 0, inputBmp.Width,
inputBmp.Height), GraphicsUnit.Pixel);
Сохранить изображения :
System.IO.Stream imgStream = new
System.IO.MemoryStream ();
// Получить ImageCodecInfo для
желаемый целевой формат ImageCodecInfo
destCodec =
FindCodecForType (ImageMimeTypes.JPEG); * * тысячу тридцать-два
if (destCodec == null) {
// Нет кодека для этого формата
бросить новый ArgumentException ("Запрошенный формат изображения / JPEG не
установить доступный кодек ",
"DestFormat"); }
// Создание EncoderParameters
коллекция для хранения // параметров
которые контролируют кодировщик формата dest
EncoderParameters destEncParams = new
EncoderParameters (1);
EncoderParameter qualityParam = новый
EncoderParameter (System.Drawing.Imaging.Encoder.Quality, (длинный) качество);
destEncParams.Param [0] = qualityParam;
// Сохранить с выбранным кодеком и
параметры энкодера
inputBmp.Save (imgStream, destCodec,
destEncParams);
Растровое изображение destBitmap = new
Растровые (imgStream); * * 1 044