Удалить изображение в WPF JpegBitmapDecoder - PullRequest
2 голосов
/ 10 февраля 2012

Я использую

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 Ответ

4 голосов
/ 10 февраля 2012

Вы должны закрыть поток после сохранения в нем:

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

Или лучше использовать блок использования, например:

using (FileStream stream = new FileStream("new13.jpg", FileMode.Create))
{
    encoder1.Save(stream);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...