20

Oct

GetThumbnailImage OR new Bitmap?

ciao a tutti

 

attenzione all’uso di bitmap.GetThumbnailImage, normalmente utilizzato per rimpicciolire una immagine per i soliti utilizzi tipici

using (var t = bitmap.GetThumbnailImage(WIDTH, HEIGHT, null, IntPtr.Zero))
using (var f = File.OpenWrite(FNAME))
    t.Save(f, ImageFormat.Jpeg);

 

impostare la qualità della compressione non aiuta minimamente:

 

var jpegInfo = ImageCodecInfo.GetImageEncoders().FirstOrDefault(x => x.MimeType == "image/jpeg");
var encoderParams = new EncoderParameters();
encoderParams.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)100);

using (var t = bitmap.GetThumbnailImage(WIDTH, HEIGHT, null, IntPtr.Zero))
using (var f = File.OpenWrite(FNAME))
    t.Save(f, jpegInfo, encoderParams);

 

la soluzione?!?!?!

semplice come a crederci: basta creare una nuova bitmap con la nuova dimensione, ed il gioco è fatto

using (var t = new Bitmap(bitmapOriginale, WIDTH, HEIGHT))
using (var f = File.OpenWrite(Path.Combine(PhotoPath, risp.SmallFileName)))
    t.Save(f, ImageFormat.Jpeg);

 

 

un saluto

by Antonio Esposito on 10/20/2013
Post archive