我正在尝试制作一组图片以设置为我的图像控件。有一个循环将遍历图片并显示一秒钟,直到它在随机图片上停止。
我的方法:我将图片路径存储在一个字符串中,然后将其放入一个数组中。在我的循环中,我创建了一个新的 ImageSource 并由轮到它显示的数组项定义它。我相信我的程序无法运行的原因是 ImageSource 无法从文件中提取图像并将其设置到图像控制器的速度足够快,然后我才让线程休眠以让图片显示一秒钟。
这是我的代码(假设字符串是正确的路径,我尝试了无数的 Thread.Sleep() 变量)
此代码运行,但它只显示最后一张图片,而不是快速翻阅所有图片,然后停在最后一张图片上。
使 ImageSource 类型的数组可以使图片“在手边”显示得更快吗?WPF 可以支持获取图像并将图像设置到图像控制器所需的速度吗?在设置和显示图像之前,我的睡眠线程执行得太快了吗?
private void ButtonClick(object sender, RoutedEventArgs e)
{
String[] picArray = new String[] { kristen, justin, brandon, sarah, miles, nina };
int i = 0;
x = rnd.Next(0,5);
while (i < rnd.Next(10,50))
{
ImageSource _currentPic = new BitmapImage(new Uri(picArray[x]));
cImage.Source = _currentPic;
if (x == 5)
x = 0;
else
x++;
Thread.Sleep(100);
i++;
}
}
循环在数组中的“随机”点停止,以随机化方法结束的图片。
提前谢谢。