c#压缩图像文件大小

    技术2022-05-20  48

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

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


    最新回复(0)