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

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

 

相关文章:

  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-13
  • 2021-11-01
  • 2021-07-21
  • 2021-12-02
相关资源
相似解决方案