1

我正在做一个项目,我需要检查画布上的几个点(XY 坐标)是否在定义的路径中。基本上我想使用类似的东西.isPointInPath(x,y),但有一定范围的像素。我想做的是检查点20, 30 - 26, 30

  • 是否有现有的方法来实现这一点?
  • 如果不是,这是否意味着我必须检查每个单独的点?
4

1 回答 1

2

仅使用内置功能,您必须检查每个点。

您可以只检查结尾,但新月形路径(等)会失败。

segment-intersects-path如果您实施算法(或者line-intersects-path,如果您丢弃不在您想要的段上的点),事情会变得更好一些。

然后检查(20, 30)和之间的路径交叉点(26, 30)。如果这两个点在路径中并且与路径的线/线段相交为零,那么您知道从(20, 30)to的整条线(26, 30)在路径中。

于 2013-03-27T01:32:05.017 回答