我正在使用 GWT Canvas (Java) 创建某种绘图/流程图/UML 图表之类的工具。对于我的图纸的命中检测,我可以想象 3 种不同的策略,但我不知道哪种策略最适合我的目标。
- 只需跟踪所有形状坐标并在鼠标单击时迭代所有对象
- 在鼠标单击时在幽灵画布上绘制所有对象,并在每次绘制对象后使用 isPointInPath()
- 使用幽灵画布并用自己的颜色绘制每个对象(如#000001、#000002),并将它们的引用保存在地图中。然后只需检测ghost-canvas上的鼠标点击并获取属于鼠标下pixelcolor的对象
你更喜欢什么,为什么?