Когда я пытаюсь сохранить ранее загруженный BitmapSource, выдается сообщение System.IO.IOException
, в котором говорится, что другой процесс имеет доступ к этому файлу, и этот поток не открывается.Загрузите BitmapSource и сохраните его с использованием того же имени в WPF -> IOException
Если я сохраню без загрузки ранее, все будет хорошо.
Код загрузки:
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = uri;
if (decodePixelWidth > 0)
image.DecodePixelWidth = decodePixelWidth;
image.EndInit();
код Экономия:
using (FileStream fileStream = new FileStream(Directory + "\\" + FileName + ".jpg", FileMode.Create))
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((BitmapImage)image));
encoder.QualityLevel = 100;
encoder.Save(fileStream);
}
Похоже, после загрузки данных изображения, файл по-прежнему заблокирован и не может быть перезаписана в то время как приложение, открывшая он все еще работает. Есть идеи, как это решить? Большое спасибо за любые решения.
Вы взяли комментарии других пользователей, не повышали никого, создали производное решение, которое вы отправили в качестве ответа, и вы дали себе голосование, одобренное Poster-Answer? – hughdbrown
Я новичок в stackoverflow. Как вы можете видеть. Поэтому я просто не могу продвигать других, пока у меня не будет репутации 15. И поскольку другие любезно предоставили хорошие предложения, но не нашли реального решения для людей, имеющих одну и ту же проблему, я сам предоставил ответ в результате моих собственных исследований. Проблема? – sdippl