У меня есть холст в моей форме WPF, что мне нужно запустить последовательность изображений во время выполнения. Как обновить изображения на холсте?Воспроизведение последовательности изображений на холсте
ответ
Любые изменения, внесенные в визуальные элементы приложения WPF, будут отображаться в представлении. Вам не нужно вызывать метод Refresh, чтобы сделать видимыми изменения. Для вашего приложения вы можете создать DispatcherTimer
, либо либо изменить Image.Source
, либо заменить Image
на каждые Tick
.
Например:
<Canvas>
<Image x:Name="myImage" Source="SomeUri"/>
</Canvas>
И этот код-за:
var timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(1);
timer.Start();
timer.Tick += (s,e) =>
{
myImage.Source = // next image in sequence
}
Я попробовал, он работает, но я не могу удалить и заменить предыдущие изображения (те, которые уже были показаны). Они все еще открыты холстом? почему на холсте (изображении) есть крючок на них? Я использую этот код для обновления uri: Uri newUri = new Uri (@inputA); Image.ImageSource = new BitmapImage (newUri); – user1094315
Попробуйте canvas.Children.Clear() - если мой ответ помог, пожалуйста, поддержите или примите. – ColinE
Это не сработало. Любой другой способ я могу очистить или удалить соединение между старыми изображениями и холстом? Спасибо за вашу помощь. – user1094315
ответ Coline является полезным, однако мы должны также быть в состоянии использовать FILESTREAM, как следовать, чтобы мы могли обновить или изменить изображения, которые ранее отображались:
FileInfo fileinfo = new FileInfo(MyFilePath);
if (fileinfo.Exists)
{
using (FileStream fs = System.IO.File.Open(MyFilePath,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite))
{
using (StreamReader reader = new StreamReader(fs))
{
BitmapImage bitImg = new BitmapImage();
bitImg.BeginInit();
bitImg.StreamSource = fs;
bitImg.EndInit();
Image.ImageSource = bitImg;
}
}
}
- 1. Воспроизведение последовательности циклов изображений в UIView
- 2. Воспроизведение последовательности изображений с использованием Qt QMainWindow
- 3. Перетаскивание изображений на холсте
- 4. Масштабирование изображений на холсте
- 5. Вращаясь 2 изображений на холсте
- 6. Рисуем кучу изображений на холсте
- 7. Случайное отображение изображений на холсте
- 8. Обмен обрезанных изображений на холсте
- 9. импортирование изображений на холсте html5
- 10. рендеринга SVG изображений на холсте
- 11. Рисование больших изображений на холсте
- 12. Воспроизведение звуков в совершенной последовательности на iPhone
- 13. Сохранить последовательности изображений на iphone
- 14. Воспроизведение изображений из массива изображений
- 15. Воспроизведение нескольких анимаций в последовательности
- 16. Воспроизведение мультимедийного контента в последовательности
- 17. Воспроизведение изображений Python PIL
- 18. jQuery Мобильные слайдеры Последовательности изображений
- 19. загрузки двух изображений на холсте (Java)
- 20. Анимация изображений в HTML5 и на холсте
- 21. Рисование повернутых растровых изображений на холсте
- 22. Получить координаты изображений на холсте HTML5?
- 23. HTML нарисовать несколько изображений на одном холсте
- 24. Слойная система для изображений на холсте
- 25. Android: позиционирование 2 растровых изображений на холсте
- 26. Отзывчивая, чистая галерея изображений на холсте CSS
- 27. Как нарисовать несколько изображений на холсте?
- 28. Перемещение изображений на HTML 5 холсте
- 29. Просмотр изображений на холсте с помощью ctx.drawImage()?
- 30. Matter.js: размещение текста или изображений на холсте
http://stackoverflow.com/questions/4214155/wpf-easiest-way-to-move -image-to-x-y-programatically попробуйте это –