Какая координата изображения была нажата? - PullRequest
2 голосов
/ 24 августа 2011

Я хочу показать пользователю изображение и получить пиксель изображения, по которому щелкает пользователь, или координаты щелчка по изображению. На самом деле я хочу поставить точку на этом изображении в указанных координатах и ​​сохранить ее на диске.

1 Ответ

8 голосов
/ 24 августа 2011

Вот как получить доступ к нажатым координатам с помощью WinForms (поскольку вы не указали ...):

  1. Добавить PictureBox в вашу форму
  2. Добавить обработчик события Click
private void pictureBox1_Click(object sender, EventArgs e)
{
  var mouseArgs = (MouseEventArgs)e;
  // coordinates are now available in mouseArgs.X and mouseArgs.Y
}

Редактировать: А вот как это сделать в WPF:

  1. Добавить изображение на холст
  2. Добавить обработчик события MouseDown
private void image1_MouseDown(object sender, MouseButtonEventArgs e)
{
  var clickedPoint = e.GetPosition((Image)sender);
  // coordinates are now available in clickedPoint.X and clickedPoint.Y
}

Редактировать: И для полноты, вот один из способов сделать это в ASP.NET:

  1. Добавить ImageButton к вашей форме
  2. Добавить обработчик события Click
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
  // coordinates are now available in e.X and e.Y
}
...