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#没那么想当然就识别成整数