Проблема с обработкой изображений .Net в Windows Server 2003 - PullRequest
2 голосов
/ 19 мая 2010

В приложении 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

...