C#图片压缩EncoderParameter参数的坑,


EncoderParameter p;
EncoderParameters ps;

ps = new EncoderParameters(1);
p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100);
ps.Param[0] = p;
ImageCodecInfo myImageCodecInfo = GetCodecInfo("image/jpeg");
zipbmp.Save("d:\\111.jpg", myImageCodecInfo, ps);

在处理到图片压缩保存时,测试是图片质量参数随便输入了100这么个数字,结果在参数初始化的时候就被识别成了byte类型,而造成.Save参数无效的错误(正确的应该要是long类型参数),而必须用下面的方式定义一个int类型,再调用才正常。

int Qty = 100;
p = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, Qty);

感觉有点坑,或许单输入一个“100”,C#没那么想当然就识别成整数

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM