Xpoint
   [напомнить пароль]

Как уничтожить объект класса BitmapSource

Метки: [без меток]
[арх]
2010-04-26 23:24:42 [обр] amorphius[досье]
В программе обрабатываю IPTC поля изображений. На этапе чтения метаинформации использую объект класса BitmapSource. Потом на записи новой метаинформации в тот же файл выскакивает исключение "Файл занят другим процессом". Я конечно еще отображал рисунок в pictureBox, но гугл подсказал, что эта проблема решается с использованием метода Clone() класса Image, чтобы оригинальный рисунок не использовался никаким процессом. Уверен что мешает класс BitmapSource, потому что при комментировании данной строки новая метаинформация успешно пишется в файл. Никаких функций вроде Dispose() в класее BitmapSource я не нашел. Приравнивание к null тоже ничего не дало.
[code]
BitmapSource img = BitmapFrame.Create(new Uri(filename));
[/code]
спустя 15 часов [обр] amorphius[досье]
тема закрыта, нужно было просто создавать не с помощью Uri, а создавать FileStream, а потом его закрывать
Powered by POEM™ Engine Copyright © 2002-2005