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.