public static MemoryStream SaveImage(this Image img, Workflow workflow, EImageFormat imageFormat) { MemoryStream stream = new MemoryStream(); switch (imageFormat) { case EImageFormat.PNG: DebugHelper.WriteLine("Performing PNG {0} {1} interlace", workflow.ImagePngCompression.GetDescription(), workflow.ImagePngInterlaced ? "with" : "without"); FreeImageNETHelper.SavePng(img, stream, workflow.ImagePngCompression, workflow.ImagePngInterlaced); break; case EImageFormat.JPEG: img.SaveJPG(stream, workflow, true); break; case EImageFormat.GIF: // FreeImageNETHelper.SaveGif(img, stream); img.SaveGIF(stream, workflow.ImageGIFQuality); break; case EImageFormat.BMP: img.Save(stream, ImageFormat.Bmp); break; case EImageFormat.TIFF: DebugHelper.WriteLine("Performing TIFF {0} ", workflow.ImageTiffCompression.GetDescription()); FreeImageNETHelper.SaveTiff(img, stream, workflow.ImageTiffCompression); break; } return(stream); }
public static void SaveJPG(this Image img, Stream stream, Workflow workflow, bool fillBackground) { if (fillBackground) { img = FillImageBackground(img, Color.White); } // Using FreeImage converter. FreeImageNETHelper.SaveJpeg(img, stream, workflow.ImageJpegQuality, workflow.ImageJpegSubSampling); }