Ho questo script per ridimensionare un'immagine

codice:
   private void ResizeAndSave(Stream imgStr, int Width, int Height, string FileName)
    {
        EncoderParameters eps = new EncoderParameters(1);
        long compression = 100;
        eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, compression);
        ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
        System.Drawing.Image bmpStream2 = System.Drawing.Image.FromStream(imgStr);
        Bitmap img = new Bitmap(bmpStream2, new Size(Width, Height));
        img.Save(FileName, ici, eps);  
    }

    private ImageCodecInfo GetEncoderInfo(String mimeType)
    {
        int j;
        ImageCodecInfo[] encoders;
        encoders = ImageCodecInfo.GetImageEncoders();
        for (j = 0; j < encoders.Length; ++j)
        {
            if (encoders[j].MimeType == mimeType)
                return encoders[j];
        }
        return null;
    }
Modificando il long compression da 100 a 10 ovviamente l'immagine uplodata cambia di qualità però anche se tengo la long a 80/100 l'immagine una volta ridimensionata mi risulta sempre più sgranata rispetto ad un ridimensionamento con Photoshop.