C#检测用户单击图像/位图的位置

本文关键字:位图 位置 图像 检测 用户 单击 | 更新日期: 2023-09-27 17:59:15

是否可以检测到用户在哪里点击了加载的图像或C#窗体上的位图。只需要它独立于图像而不是屏幕位置!

C#检测用户单击图像/位图的位置

好吧,你没有告诉我们你是如何显示图像的,所以我不得不猜测。我假设一个图片框以其原生分辨率显示图像。因此,在这种情况下:

class MyForm : Form
{
    public MyForm()
    {
        picturebox1.MouseDown += picturebox1_MouseDown;       
    }
    private void picturebox1_MouseDown( object sender, MouseEventArgs e )
    {
        if( (e.Button & MouseButtons.Left) == MouseButtons.Left )
        {
            var imagePos = e.Location; // that's it
        }
    }
}

如果你的图像被缩放,你将需要做数学运算。获取控件的WidthHeight,并计算出它们与图像尺寸之间的比例。将单击位置乘以该比率。