Кадрирование изображений WPF

У меня есть приложение WPF, которое берет снимок из видеофайла. Пользователь может определить временную метку, с которой нужно сделать изображение. Затем изображение сохраняется во временное место на диске и затем отображается в элемент .

Затем пользователь может выбрать другую временную метку, которая затем перезаписывает временный файл на диске – это должно отображаться в элементе .

Использование Image.Source = null; , Я могу очистить файл изображения от элемента , поэтому вместо него отображается пустое пространство. Однако, если исходный файл изображения затем перезаписывается новым изображением (с тем же именем) и загружается в элемент , он по- прежнему показывает старое изображение .

Я использую следующую логику:

 // Overwrite temporary file file here // Clear out the reference to the temporary image Image_Preview.Source = null; // Load in new image (same source file name) Image = new BitmapImage(); Image.BeginInit(); Image.CacheOption = BitmapCacheOption.OnLoad; Image.UriSource = new Uri(file); Image.EndInit(); Image_Preview.Source = Image; 

Изображение, отображаемое в элементе , не изменяется, даже если исходный файл полностью заменен. Есть ли проблема кэширования изображений здесь, о которой я не знаю?

По умолчанию WPF кэширует BitmapImages, которые загружаются из URI.

Вы можете избежать этого, установив флаг BitmapCreateOptions.IgnoreImageCache :

 var image = new BitmapImage(); image.BeginInit(); image.CreateOptions = BitmapCreateOptions.IgnoreImageCache; image.CacheOption = BitmapCacheOption.OnLoad; image.UriSource = new Uri(file); image.EndInit(); Image_Preview.Source = image; 

Или вы загружаете BitmapImage непосредственно из streamа:

 var image = new BitmapImage(); using (var stream = new FileStream(file, FileMode.Open, FileAccess.Read)) { image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; image.StreamSource = stream; image.EndInit(); } Image_Preview.Source = image; 
  • Сглаживание зубчатого пути
  • CSS Размер изображения, как заполнять, а не растягиваться?
  • Как сохранить изображение в галерее Android
  • Как преобразовать координаты изображения в координаты растрового изображения?
  • вызовите страницу aspx, чтобы вернуть изображение в случайном порядке
  • Android, как применить маску к ImageView?
  • CSS3 Поворот анимации
  • Как сохранить NSImage в качестве нового файла
  • Как resize изображения программно в объективе-c в iphone
  • Проблемы с перезаписью (повторным сохранением) изображения, когда он был установлен как источник изображения
  • Drawable-hdpi, Drawable-mdpi, Drawable-ldpi Android
  • Давайте будем гением компьютера.