如何挑选随机图像

时间:2014-10-22 18:06:59

标签: c# image windows-phone-8

我最近开始学习没有c#知识的Windows手机应用程序开发,我想制作一个应用程序,当点击按钮时,它会在ImageBox上显示一个随机图像。

每次用户按下按钮时,如何制作随机图像(从列表中)?

到目前为止,这是我所拥有的一切:

myImage.Source = new BitmapImage(new Uri("/Images/Pic1.png", UriKind.Relative));

1 个答案:

答案 0 :(得分:3)

如果您有图像列表或图像命名约定,那么这很容易。

例如,如果您的图像被命名为“Pic1”到“Pic10”,那么只需使用:

const int numberOfImages = 10;
var rand = new Random();
int imageNumber = rand.Next(numberOfImages) + 1;
string imageName = string.Format("/Images/Pic{0}.png", imageNumber);
myImage.Source = new BitmapImage(new Uri(imageName, UriKind.Relative));

或者,如果您有一个包含可用图像名称的数组:

string[] imageNames = { "Pic1.png", "AnotherPic.png" };
var rand = new Random();
string imageName = imageNames[rand.Next(imageNames.Length)];
string imageName = string.Concat("/Images/", imageName);
myImage.Source = new BitmapImage(new Uri(imageName, UriKind.Relative));

修改

比运行时枚举“资源”图像更困难。 See here for a discussion of this topic.

编辑#2

实际上,上述链接中的一个答案有一个很好的方法 - use a T4 template to generate the list of images at compile time