我想做什么: 我有一个PictureBox,其中加载了图像。用户应该点击图片上的某个位置。点击后,我保存他点击的坐标。
然后我想创建一个新的框,如图所示(注意:如果用户点击边缘,它不应该与图像重叠:
之后,我想保存所有坐标[开始/结束],所以当用户再次点击下一个表格时,我可以验证点击是否在之前创建的框内。
到目前为止我得到了什么:
private void pictureBox1_Click(object sender, EventArgs e)
{
var centerX = ((MouseEventArgs) e).X;
var centerY = ((MouseEventArgs) e).Y;
// create box with center in these coordinates
// save all the coordinates of the box, so I can check if further clicks are within the created box
}
我的问题是点击后创建该框,知道它的中心位置。有点混淆了应该如何创建它。
答案 0 :(得分:1)
点击后创建框,知道它的中心位置。 有点混淆它应该如何被创造。
您可以简单地创建一个具有中心和宽度的正方形:
Rectangle CreateSquare(Point center, int width)
{
return new Rectangle(center.X - width / 2, center.Y - width / 2,
width, width);
}
要使用它,就足以处理MouseDown
的{{1}}事件并使用PictureBox
:
e.Location