C# 在WPF JPEG位图解码器中删除图像

C# 在WPF JPEG位图解码器中删除图像,c#,wpf,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; //enc

我正在使用

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 (FileStream stream = new FileStream("new13.jpg", FileMode.Create))
{
    encoder1.Save(stream);
}

保存到流后,应关闭该流:

encoder1.Save(stream1);
stream1.Close();
或者最好使用如下使用块:

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