我试图保存具有指定编码质量的位图jpg格式.但是,在调用save方法时,我得到一个异常("参数无效.").
如果我省略了bmp.save中的最后两个参数,它可以正常工作.
EncoderParameters eps = new EncoderParameters(1); eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 16); ImageCodecInfo ici = GetEncoderInfo("image/jpeg"); string outfile = outputpath + "\\" + fileaddition + sourcefile.Name; bmp.Save(outfile,ici,eps ); bmp.Dispose(); image.Dispose(); return true; } ImageCodecInfo GetEncoderInfo(string mimeType) { int j; ImageCodecInfo[] encoders; encoders = ImageCodecInfo.GetImageEncoders(); for (j = 0; j < encoders.Length; ++j) { if (encoders[j].MimeType == mimeType) return encoders[j]; } return null; } }
谢谢
GDI +非常不稳定.您需要使用16L作为值或转换为(long).