我正在开发一个显示许多线段的 UserControl。这是通过 GraphicsPath 完成的。
当用户移动鼠标时,会进行一次命中测试以检查它是否在任何线段上,光标会相应地更改,然后可以单击该线。
只要片段很少(如左例所示),它就可以正常工作并且有意义。
但是当片段越来越多时,hittest 变得毫无意义,当然也很慢(在示例中,有 75、750 和 2500 个片段)。
如果路径变得“密集”,我可以使用什么策略来避免无用的测试并简化路径?
线段是未知的模式,它们可能不是明显的矩形轮廓,但总是像示例图像中的某种数据图表。