c# 压缩图像文件大小

         做发送邮件的时候,要将导出的图像作为附件发出去,发现导出附件的图像太大,在网上找了些方法,特贴出来分享记录一下

                         System.Drawing.Imaging.Encoder encoder = System.Drawing.Imaging.Encoder.Quality;//获取品质(压缩率)编码
                                    EncoderParameter mycoder = new EncoderParameter(encoder, 30L);//0压缩率最大,100品质最高
                                    EncoderParameters myCoders = new EncoderParameters(1);//参数数组,大小为1
                                    myCoders.Param[0] = mycoder;//添加一个参数
                                    ImageCodecInfo jpgInfo = GetEncoder(ImageFormat.Jpeg);//获取JPG格式编解码信息
                                    Image bmp = Image.FromFile(attachFilePath);
                                     bmp.Save(attachFilePath, jpgInfo, myCoders);//以指定品质率的JPG格式保存

 

      private ImageCodecInfo GetEncoder(ImageFormat format)//获取特定的图像编解码信息
        {
            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders();

            foreach (ImageCodecInfo codec in codecs)
            {
                if (codec.FormatID == format.Guid)
                {
                    return codec;
                }
            }
            return null;
        }

发布了6 篇原创文章 · 获赞 0 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览