我在C#项目中有多个图像,我必须随机访问它们。 假设我有5张图像(_1,_2,...),我生成1到5之间的随机数。 如何访问与该数字相对应的文件?
pictureBox.Image = Properties.Resources._1
答案 0 :(得分:2)
假设您的图片资源名为 _1,_2,_3, ... 然后你可以做这样的事情:
int maxNumberOfImages = ..... the number of images you have
Random rnd = new Random();
pictureBox.Image = Properties.Resources.ResourceManager.GetObject(
String.Format( "_{0}", rnd.Next(maxNumberOfImages) + 1 )
) as Bitmap;
答案 1 :(得分:1)
你可以这样做:
Random rnd = new Random();
this.pictureBox1.Image = new Bitmap(System.IO.Path.Combine("youFolder",String.Format("_{0}.yourExtension",rnd.Next(0,6)));
为了创建随机数,我使用了Next(min,max)
Random的方法。然后我只需将新图像添加到pictureBox。
Here您可以找到Path.Combine
的参考和here Random.Next(min,max)的引用;
答案 2 :(得分:1)
请参阅此sample:
Random random= new Random();
string path=random+".jpeg";
Image image = Image.FromFile(path);
pictureBox.Image = image;
pictureBox.Height = image.Height;
pictureBox.Width = image.Width;
您也可以使用:
Random random= new Random();
string path=random+".jpeg";
pictureBox.Image = new Bitmap(path);
答案 3 :(得分:1)
只需使用类似的东西
Random rnd = new Random();
int im = rnd.Next(0, 5);
Image[] images = new Image[]{Properties.Resources._1,Properties.Resources._2,Properties.Resources._3,Properties.Resources._4,Properties.Resources._5}
pictureBox.Image = images[im];
答案 4 :(得分:0)
使用此:
//generate your random number
Random rnd = new Random();
string rndNumber = rnd.Next(0,6).ToString();
var myImg = ResourceManager.GetObject(rndNumber) as Bitmap;
如果您的图像文件名如_1,_2
等,则:
string rndNumber = "_" + rnd.Next(0,5).ToString();
答案 5 :(得分:0)
试试这个, protected void Page_Load(object sender,EventArgs e) { if(!IsPostBack) { 的getImage(); } }
private void getImage()
{
Random rand = new Random();
int i = rand.Next(1, 6);
Image1.ImageUrl = "~/image/" + i.ToString() + ".jpg";
Label1.Text = "image no :" + i.ToString();
}
protected void Button1_Click(object sender, EventArgs e)
{
getImage();
}