using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Threading.Tasks; public static class BitmapExtensions { /// /// Saves the specified bitmap as a JPEG file with the specified quality (0-100). /// /// The bitmap. /// The file path. /// The quality. public static void SaveJpeg(this Bitmap bitmap, String filePath, int quality) { var encoder = ImageCodecInfo.GetImageEncoders().First(c => c.FormatID == ImageFormat.Jpeg.Guid); var encParams = new EncoderParameters() { Param = new[] { new EncoderParameter(Encoder.Quality, quality) } }; bitmap.Save(filePath, encoder, encParams); } public static Bitmap ConvertTo24Bit(this Bitmap bitmap) { var bmp = new Bitmap(bitmap.Width, bitmap.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb); using (var gr = Graphics.FromImage(bmp)) gr.DrawImage(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height)); return bmp; } }