删除WPF JpegBitmapDecoder中的图像

本文关键字:图像 JpegBitmapDecoder WPF 删除 | 更新日期: 2023-09-27 18:23:56

我正在使用

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

删除WPF JpegBitmapDecoder中的图像

保存到流后应该关闭流:

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

或者最好使用这样的使用块:

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