显示图像控件中目录中的每个图像
本文关键字:图像 控件 显示 显示图 | 更新日期: 2023-09-27 18:08:31
我想在图像控件中显示本地目录中的内容(.jpg文件)。图像必须以5秒的延迟替换。
DirectoryInfo dir = new DirectoryInfo(@"D:'somedir");
FileInfo[] files = dir.GetFiles();
foreach (var item in files)
{
imgBox.Source = (ImageSource)new ImageSourceConverter().ConvertFromString(item.FullName);
}
将图像加载到内存中,然后使用一个后台线程以定义的延迟旋转它们。从后台线程访问UI控件需要Dispatcher调用。
List<Image> images;
void GetImagesIntoAList()
{
List<Image> images = new List<Image>();
DirectoryInfo dir = new DirectoryInfo(@"D:'somedir");
FileInfo[] files = dir.GetFiles();
foreach (var item in files)
{
FileStream stream = new FileStream(item.FullName, FileMode.Open, FileAccess.Read);
Image i = new Image();
BitmapImage src = new BitmapImage();
src.BeginInit();
src.StreamSource = stream;
src.EndInit();
i.Source = src;
images.Add(i);
}
Thread rotator = new Thread(rotate);
rotator.Start();
}
void rotate()
{
foreach(var img in images)
{
Dispatcher.BeginInvoke( () =>
{
nameOfImageControlOnAWindow.Source = img;
}
);
Thread.Sleep(5000);
}
}