| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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
- {
- /// <summary>
- /// 压缩并保存图片
- /// </summary>
- /// <param name="bitmap"></param>
- /// <param name="path">目标图像存储路径JPEG</param>
- /// <param name="quality">压缩等级,0到100,0 最差质量,100 最佳</param>
- 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;
- }
- }
- }
|