获取与屏幕上鼠标/光标位置相对的图像内的像素坐标

时间:2014-05-02 21:23:05

标签: vb.net image coordinates

没有太多关于这个主题的教育而且无法获得我需要的信息我发布了我遇到问题的问题。

我创建了一个用户控件,将图像加载到一个图片框控件中(sizemode = autosize),我对加载的图像运行的一个函数就是在我正确的位置添加一个“标记”(一个小三角形)点击图片框。

Dim HScroll As Integer 'Horizontal Scrollbar position
Dim VScroll As Integer 'Vertical scrollbar position
Dim ImageX As Integer 'Mouse click X-coord
Dim ImageY As Integer 'Mouse click Y-coord


'Mouse click position on image
ImageX = m_PanStartPoint.X
ImageY = m_PanStartPoint.Y
'pnlImageAea scroll bar positions
HScroll = pnlImageArea.HorizontalScroll.Value
VScroll = pnlImageArea.VerticalScroll.Value

存储滚动位置是因为我加载的图像是相当大的图像,滚动位置将允许我将图像区域滚动到我捕获鼠标X,Y位置的视图中。

不幸的是,根据用户使用的屏幕,结果将因系统而异,因为UserControl中的控件将根据屏幕大小动态调整大小。

我的问题是,是否可以检索鼠标点击事件发生位置的图像中的实际点(类似于像素位置)位置。这背后的想法是始终拥有点击事件发生位置坐标的确切位置,即使图片框尺寸减小/放大,位置也将始终保持完全相同。

我几乎可以肯定捕获屏幕坐标不是正确的方法,因为它反映了鼠标相对于屏幕上某个点的位置,而不是图像上的点。

蒂诺

0 个答案:

没有答案
相关问题