1
我正在嘗試在asp.net中調整圖像大小。實際大小調整代碼之外,我想知道爲什麼會出現重載位圖的保存之間如此大的差異爲什麼bitmap.Save與ImageFormat和ImageCodecInfo的差別在.NET中如此之大?
方法1
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)
方法2
bitmap.Save(_current_context.Response.OutputStream,ImageFormat.Jpeg)
所以方法1,在100質量,輸出這個特定的jpeg圖像大約250kb。在90質量下,它下降到大約100kb
然而,方法2將圖像下降到大約60kb,這是一個巨大的差異,也沒有可見的差異。
我似乎無法找到任何地方爲什麼差異如此之大,MSDN有關這兩個重載零細節。
任何洞察力是讚賞。謝謝
可惜不是,方法1在100質量和方法2是截然不同的,這就是爲什麼我問 – andryuha
我想我的觀點是試驗不同的值,看看他們結婚了。從我的觀察,我無法找到如何提取正在使用的默認值,而無需深入研究.NET正在使用的這種東西的Windows映像。 –