楼主是不是在做gis?呵呵
一种简单的方法是,把该图片相关的点都存放在一个数组里,然后OnMouseMove的时候将当前(X, Y)与数组中的各点一一比较,直到找到一个相同的点或者遍历结束;通常这样的效率也不会很低
另外如果要高效,可以考虑类似对稀疏矩阵的处理方法,建立一套二维链表,结构如下
[Header] → [10] → [17] → ... →(指回Header)
↓ ↓ ↓
[10] → {1} → ↓ → ... →(指回[10])
↓ ↓ ↓
[23] → {2} → ↓ → ... →(指回[23])
↓ ↓ ↓
[31] → ↓ → {3} → ... →(指回[31])
↓ ↓ ↓
... ... ...
↓ ↓ ↓
(回Header) (回[10])(回[17])
以上是以下点阵的二维链表结构示意图
====
图片编号 点编号 X Y 信息
1 1 10 10 a
1 2 10 23 b
1 3 17 31 c
====
这样在OnMouseMove时都通过这个链表查询是否有符合当前X和Y的结点,例如当前X=10,Y=23,首先通过横坐标找到[10]这列有两个结点,然后通过Y=23向下遍历找到第二个结点即与当前鼠标坐标相同,然后通过这个结点的{2}(表示该点在数据库中的点编号),然后到上面说过的那个数组里,用这个编号做下标,即可得其点信息
其实,直接把点信息放到{2}中就更加简便了,修改一下结点得结构即可