public bool SaveImageToDisk(Image image, ImageFormat format, IFilenameProvider fileNameProvider) { string fileName = fileNameProvider.GetFileName(); ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders(); // find the encoder with the image/jpeg mime-type ImageCodecInfo imageCodec = null; foreach (ImageCodecInfo codec in codecs) { if (codec.MimeType == "image/jpeg") { imageCodec = codec; } } // Create a collection of encoder parameters (we only need one in the collection) EncoderParameters encoder = new EncoderParameters(); // We'll save images with 25%, 50%, 75% and 100% quality as compared with the original encoder.Param[0] = new EncoderParameter(Encoder.Quality, compressionRatio); try { image.Save(fileName, imageCodec, encoder); addExif(fileName, (uint)image.Width, (uint)image.Height); Trace.WriteLine("Thread " + Thread.CurrentThread.ManagedThreadId + " saved " + fileName + " at " + DateTime.Now + "."); return(true); } catch (Exception ex) { Trace.TraceError(ex.ToString()); return(false); } }
public bool SaveImageToDisk(Image image, ImageFormat format, IFilenameProvider fileNameProvider) { try { string fileName = fileNameProvider.GetFileName(); image.Save(fileName, format); Trace.WriteLine("Thread " + Thread.CurrentThread.ManagedThreadId + " saved " + fileName + " at " + DateTime.Now + "."); return(true); } catch (Exception ex) { Trace.TraceError(ex.ToString()); return(false); } }