0
我想将图像保存为与JpegBitmapEncoder的Jpeg格式,但设置QualityLevel有没有影响?将得到的JPEG始终是相同的大小(〜4MB为2200x1500px)。JpegBitmapEncoder QualityLevel没有效果
RenderTargetBitmap rtb = new RenderTargetBitmap(collage.Breite, collage.Hoehe, dpi, dpi, System.Windows.Media.PixelFormats.Default);
canvas.UpdateLayout();
rtb.Render(canvas);
JpegBitmapEncoder jpgEncoder = new JpegBitmapEncoder();
jpgEncoder.QualityLevel = 35; // no effect, Image to big
jpgEncoder.Frames.Add(BitmapFrame.Create(rtb));
using (var fs = System.IO.File.OpenWrite(myfilename, variables)))
{
jpgEncoder.Save(fs);
fs.Close();
fs.Dispose();
}
作为一个说明,你既不需要调用'fs.Close()''也不fs.Dispose()'。使用块会完成所有这些。 – Clemens