我正在尝试在 asp.net 中调整图像大小。除了实际调整大小的代码之外,我想知道为什么位图的 Save 重载之间存在如此大的差异
方法一
ImageCodecInfo jpgEncoder =
ImageCodecInfo.GetImageDecoders()
.First(c => c.FormatID == ImageFormat.Jpeg.Guid);
Encoder encoder = Encoder.Quality;
EncoderParameters encoderParameters = new EncoderParameters(1);
encoderParameters.Param[0] = new EncoderParameter(encoder, (long)quality);
bitmap.Save(_current_context.Response.OutputStream,jpgEncoder,encoderParameters)
方法二
bitmap.Save(_current_context.Response.OutputStream,ImageFormat.Jpeg)
因此,方法 1 以 100 质量输出此特定 jpeg 图像,大小约为 250kb。在 90 质量下,它下降到大约 100kb
然而,方法 2 将图像降低到大约 60kb,这是一个巨大的差异,并且也没有明显的差异。
我似乎找不到任何地方为什么差异如此之大,MSDN 关于这两个重载的细节为零。
任何见解都值得赞赏。谢谢