在WPF JpegBitmapDecoder中删除图像

时间:2012-02-10 09:45:40

标签: c# wpf

我正在使用

File.Delete("new13.jpg");
FileStream stream1 = new FileStream("new13.jpg", FileMode.Create);
JpegBitmapEncoder encoder1 = new JpegBitmapEncoder();

encoder1.FlipHorizontal = true;
encoder1.FlipVertical = false;
encoder1.QualityLevel = 30;
//encoder.Rotation = Rotation.Rotate90;
encoder1.Frames.Add(BitmapFrame.Create(bitmap));
encoder1.Save(stream1);

当我的相机拍摄新照片时,它会被存储为“new13.jpg”,但是当我再次拍照时,它会显示异常,即此图像正由另一个进程使用。拍摄后我正在对图像进行一些图像处理。我如何摆脱这种异常。

1 个答案:

答案 0 :(得分:4)

保存后应关闭流:

encoder1.Save(stream1);
stream1.Close();

或者更好地使用这样的使用块:

using (FileStream stream = new FileStream("new13.jpg", FileMode.Create))
{
    encoder1.Save(stream);
}