3
我只是加載JPEG圖像並將其保存,無需任何操作。但圖像質量明顯降低。c#:在以100%質量保存JPEG時降低圖像質量
下面是代碼:
Bitmap imgOutput = new Bitmap(@"D:\image.jpg");
Graphics outputGraphics = Graphics.FromImage(imgOutput);
EncoderParameters myEncoderParameters = new EncoderParameters(3);
myEncoderParameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
myEncoderParameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.ScanMethod, (int)EncoderValue.ScanMethodInterlaced);
myEncoderParameters.Param[2] = new EncoderParameter(System.Drawing.Imaging.Encoder.RenderMethod, (int)EncoderValue.RenderProgressive);
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/jpeg")
ici = codec;
}
imgOutput.Save(@"D:\result.jpg", ici, myEncoderParameters);
而且我得到什麼:http://i.imgur.com/5bG1tPM.jpg變焦:http://i.imgur.com/vdx8sL5.jpg
有另一種圖像質量設置?
是的,PNG節省很多。但儘管JPEG是有損格式,但當我在Photoshop中打開圖像並將其另存爲JPEG時,結果圖像完美無瑕(甚至文件較小)。這意味着JPEG格式允許保存圖像更加正確。我想知道如何) – user1032559 2013-05-04 11:43:10
@ user1032559它似乎是GDI +,這是不好的。查看更新和鏈接。 – 2013-05-04 14:06:38
我查看了這個工具的源代碼 - http://www.codeproject.com/Articles/9727/Image-Processing-Lab-in-C它以非標準方法保存圖像,效果很好。唯一的區別是它們不使用EncoderParameters。但是,當我保存沒有這些參數的圖像時,JPEG的總體質量非常低。 – user1032559 2013-05-06 08:03:41