我想用JpegBitmapEncoder将图像保存为Jpeg,但设置QualityLevel没有效果?生成的jpeg总是相同的大小(对于2200x1500px,大约为4mb)。
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();
}
答案 0 :(得分:0)
我把它改为:
var fs = new FileStream(myfilename, variables), FileMode.Create);
jpgEncoder.Save(fs);
fs.Close();