using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TeamAAS_VP.Core { public class ImageHelper { /// /// 压缩并保存图片 /// /// /// 目标图像存储路径JPEG /// 压缩等级,0到100,0 最差质量,100 最佳 public static void CompressImage(Bitmap bitmap, string path, long quality = 100) { ImageCodecInfo codecInfo = GetEncoderInfo("image/jpeg"); System.Drawing.Imaging.Encoder encoder = System.Drawing.Imaging.Encoder.Quality; EncoderParameters parameters = new EncoderParameters(1); EncoderParameter parameter = new EncoderParameter(encoder, quality); parameters.Param[0] = parameter; bitmap.Save(path, codecInfo, parameters); bitmap.Dispose(); parameter.Dispose(); parameters.Dispose(); } private static ImageCodecInfo GetEncoderInfo(String mimeType) { int j; ImageCodecInfo[] encoders; encoders = ImageCodecInfo.GetImageEncoders(); for (j = 0; j < encoders.Length; ++j) { if (encoders[j].MimeType == mimeType) return encoders[j]; } return null; } } }