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

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by amorphius, 26 Apr 2010.

  1. amorphius

    amorphius New Member

    Joined:
    22 Jan 2009
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    В программе обрабатываю IPTC поля изображений. На этапе чтения метаинформации использую объект класса BitmapSource. Потом на записи новой метаинформации в тот же файл выскакивает исключение "Файл занят другим процессом". Я конечно еще отображал рисунок в pictureBox, но гугл подсказал, что эта проблема решается с использованием метода Clone() класса Image, чтобы оригинальный рисунок не использовался никаким процессом. Уверен что мешает класс BitmapSource, потому что при комментировании данной строки новая метаинформация успешно пишется в файл. Никаких функций вроде Dispose() в класее BitmapSource я не нашел. Приравнивание к null тоже ничего не дало.
    Code:
    BitmapSource img = BitmapFrame.Create(new Uri(filename));
    
     
  2. amorphius

    amorphius New Member

    Joined:
    22 Jan 2009
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    тема закрыта, нужно было просто создавать не с помощью Uri, а создавать FileStream, а потом его закрывать