我正在使用
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”,但是当我再次拍照时,它会显示异常,即此图像正由另一个进程使用。拍摄后我正在对图像进行一些图像处理。我如何摆脱这种异常。
答案 0 :(得分:4)
保存后应关闭流:
encoder1.Save(stream1);
stream1.Close();
或者更好地使用这样的使用块:
using (FileStream stream = new FileStream("new13.jpg", FileMode.Create))
{
encoder1.Save(stream);
}