使用C#程序语言,利用DrawImage显示图片,实现图片在窗体中随机变换位置。
时间: 2024-02-27 18:54:05 浏览: 113
可以通过以下步骤利用DrawImage显示图片,实现图片在窗体中随机变换位置:
1. 在窗体中添加一个PictureBox控件,用于显示图片。
2. 在窗体的Load事件中加载图片,并设置PictureBox的SizeMode为Stretch,可以使用以下代码:
```
private void Form1_Load(object sender, EventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = Image.FromFile("图片路径");
}
```
3. 在窗体的Paint事件中利用Graphics对象的DrawImage方法绘制图片,可以使用以下代码:
```
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(pictureBox1.Image, pictureBox1.Location.X, pictureBox1.Location.Y, pictureBox1.Width, pictureBox1.Height);
}
```
4. 在窗体的Resize事件中调整PictureBox的大小和位置,使其始终居中显示,可以使用以下代码:
```
private void Form1_Resize(object sender, EventArgs e)
{
int x = (this.Width - pictureBox1.Width) / 2;
int y = (this.Height - pictureBox1.Height) / 2;
pictureBox1.Location = new Point(x, y);
}
```
5. 在窗体中添加一个Timer控件,用于定时变换图片的位置。在Timer的Tick事件中随机生成图片的位置,可以使用以下代码:
```
private void timer1_Tick(object sender, EventArgs e)
{
Random rand = new Random();
int x = rand.Next(this.Width - pictureBox1.Width);
int y = rand.Next(this.Height - pictureBox1.Height);
pictureBox1.Location = new Point(x, y);
this.Invalidate(); // 使窗体重绘
}
```
6. 启动Timer控件,开始定时变换图片的位置,可以使用以下代码:
```
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
}
```
这样,图片就能在窗体中随机变换位置了。注意,在变换图片位置后,需要使窗体重绘,才能看到图片的新位置。
阅读全文