Я использую класс BitmapSource для чтения изображения из моей временной папки, а затем чтения метаданных с использованием класса BitmapMetadata.Как избавиться от bitmapsource
BitmapSource img = BitmapFrame.Create(new Uri(filepath));
BitmapMetadata meta = (BitmapMetadata)img.Metadata;
DateTime datetaken = DateTime.Parse(meta.DateTaken);
System.IO.File.Delete(filepath);
В то время как я пытался удалить утра изображения получаю исключение, говоря «Процесс не может получить доступ к файлу„Filepath/имя_файла“, так как он используется другим процессом.». Я подумал о размещени BitmapSource до того удаление изображения. В то время как я искал решение, я получил информацию, подобную «Вам не нужно Dispose() BitmapSource. В отличие от некоторых других« образных »классов в Framework, он не переносит никаких собственных ресурсов.
Просто позвольте выйти из сферы действия, и сборщик мусора освободит свою память ». в следующей ссылке Proper way to dispose a BitmapSource. Я просто хочу удалить файл, который существует в физической папке. Есть ли подходящий способ для удаления физического пути. Спасибо заранее.
Вы можете посмотреть здесь, это может быть полезно http://stackoverflow.com/questions/542217/load-a-bitmapsource -and-save-using-the-same-name-in-wpf-ioexception, в частности, третий ответ – ameer
** @ ameer ** Третий ответ в этой ссылке: image.CacheOption = BitmapCacheOption.OnLoad; ', is not Это? Но у BitmapSource нет свойства CacheOption или так. Я ошибаюсь везде, пожалуйста, предлагайте. – shivasai