Salvare un immagine JPEG specificando la qualità
Con questi metodi C# è possibile salvare un immagine in formato jpeg specificando la qualità desiderata tramite il parametro quality. Quality deve avere un valore compreso tra 0 e 100, dove 100 è la massima qualità possibile.
C#
//using System.Drawing;
//using System.Drawing.Imaging;
public void SaveJpeg(Image img, string fileName, long quality)
{
ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
EncoderParameters eps = new EncoderParameters(1);
eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
img.Save(fileName, ici, eps);
}
private ImageCodecInfo GetEncoderInfo(String mimeType)
{
foreach (ImageCodecInfo encoder in ImageCodecInfo.GetImageEncoders())
{
if (encoder.MimeType == mimeType)
return encoder;
}
return null;
}