c# 压缩图像文件大小

来源:互联网 发布:cmd java无法加载主类 编辑:程序博客网 时间:2024/04/29 14:13

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

                         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;
        }

原创粉丝点击