C#点击button控件通过获取坐标数据在picturebox控件图片上描点
时间: 2023-10-24 17:04:32 浏览: 52
要在PictureBox控件中的图像上描点,可以使用Graphics类的DrawEllipse方法。以下是用C#代码在PictureBox控件的图像上描点的示例:
```csharp
private void button1_Click(object sender, EventArgs e)
{
if (pictureBox1.Image != null)
{
// 获取PictureBox控件中的图像
Image img = pictureBox1.Image;
// 获取PictureBox控件的尺寸
int picWidth = pictureBox1.Width;
int picHeight = pictureBox1.Height;
// 获取按钮的坐标
int btnX = button1.Location.X;
int btnY = button1.Location.Y;
// 计算按钮在PictureBox控件中的位置
int picX = btnX - pictureBox1.Location.X;
int picY = btnY - pictureBox1.Location.Y;
// 计算图像上的坐标
float x = picX * img.Width / picWidth;
float y = picY * img.Height / picHeight;
// 用Graphics类的DrawEllipse方法在图像上描点
using (Graphics g = Graphics.FromImage(img))
{
g.DrawEllipse(Pens.Red, x, y, 2, 2);
}
// 更新PictureBox控件中的图像
pictureBox1.Image = img;
}
}
```
在上述代码中,button1_Click是Button控件的单击事件处理程序。当单击按钮时,首先检查PictureBox控件中是否加载了图像。然后,获取PictureBox控件的尺寸和按钮的坐标,并计算按钮在PictureBox控件中的位置。接下来,计算鼠标单击位置在图像上的坐标。最后,使用Graphics类的DrawEllipse方法在图像上描点,并更新PictureBox控件中的图像。