如何从bitmapsource C#WPF创建图像文件

时间:2015-03-18 10:12:39

标签: c# wpf

我尝试过如下

BitmapSource bitmap;
            bitmap = graphData.CreateScreenshot();
            JpegBitmapEncoder encoder = new JpegBitmapEncoder();
            BitmapFrame outputFrame = BitmapFrame.Create(bitmap);
            encoder.Frames.Add(outputFrame);
            encoder.QualityLevel = 100;
            FileStream stream = new FileStream("test.jpg", FileMode.Create);
            encoder.Save(stream);

但我无法查看图片。我可以看到以下消息:

  

Windows照片查看器无法打开此照片,因为正在使用其他程序编辑照片

这里出了什么问题?

1 个答案:

答案 0 :(得分:2)

您应该在使用

创建流后尝试关闭流
stream.Close();

也就是说,最好在using语句中创建Stream。当执行离开using块时,流将被丢弃,因此将自动关闭。

using (var stream = new FileStream("test.jpg", FileMode.Create))
{
    encoder.Save(stream);
}