Thumbnail image saved with worse quality on Windows Server 2003
- by Angelo
Hello,
In asp.net 2.0 application I am trying to create thumbnails from uploaded images. However when I test the application on my PC under Windows7 it works fine, but on the real Windows 2003 Server the resized image has worse quality. 
Where this difference could come from? Different JPEG codec or what, if Yes how it can be updated on Win 2003 Server? Thanks!
Here is the code:
Resize of the Image:
  Bitmap newBmp = new Bitmap(imgWidth, imgHeight, PixelFormat.Format24bppRgb);
  newBmp.SetResolution(inputBmp.HorizontalResolution,
  inputBmp.VerticalResolution);
  
  //Create a graphics object attached to
  the new bitmap Graphics newBmpGraphics
  = Graphics.FromImage(newBmp);
  
  newBmpGraphics.InterpolationMode =
  InterpolationMode.HighQualityBicubic;
  
  newBmpGraphics.SmoothingMode =
  SmoothingMode.HighQuality;
  
  newBmpGraphics.PixelOffsetMode =
  PixelOffsetMode.HighQuality; 
  
  newBmpGraphics.DrawImage(inputBmp, new
  Rectangle(0, 0, imgWidth, imgHeight),
  new Rectangle(0, 0, inputBmp.Width,
  inputBmp.Height), GraphicsUnit.Pixel);
Save of the Image:
  System.IO.Stream imgStream = new
  System.IO.MemoryStream();
  
  //Get the ImageCodecInfo for the
  desired target format ImageCodecInfo
  destCodec =
  FindCodecForType(ImageMimeTypes.JPEG);
  
  if (destCodec == null) {
      //No codec available for that format
      throw new ArgumentException("The requested format image/jpeg does not
  have an available codec installed",
  "destFormat"); }
  
  //Create an EncoderParameters
  collection to contain the //parameters
  that control the dest format's encoder
  EncoderParameters destEncParams = new
  EncoderParameters(1);
  
  EncoderParameter qualityParam = new
  EncoderParameter(System.Drawing.Imaging.Encoder.Quality,(long)quality);
  
  destEncParams.Param[0] = qualityParam;
  
  //Save w/ the selected codec and
  encoder parameters
  inputBmp.Save(imgStream, destCodec,
  destEncParams);
  
  Bitmap destBitmap = new
  Bitmap(imgStream);