我在用

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”,但是当我再次拍摄照片时,它显示该图像正在被另一个进程使用。拍摄后我正在对图像进行一些图像处理。我如何摆脱这个例外。

最佳答案

保存到流后,应关闭流:

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


或者最好使用如下的using块:

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

10-08 08:47