检查路径中是否有多个点 - JS Canvas

时间:2013-03-27 00:02:59

标签: javascript canvas

我正在研究一个项目,我需要检查画布上的几个点X Y坐标是否在定义的路径中。基本上我想使用像.isPointInPath(x,y)这样的东西,但有一系列像素。我要做的是检查点20, 30 - 26, 30

  • 是否有现成的方法来实现这一目标?
  • 如果没有,这是否意味着我必须检查每个点?

1 个答案:

答案 0 :(得分:2)

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

你可以检查一下,但新月形路径(等)会失败。

如果您实施segment-intersects-path算法(或line-intersects-path,如果您丢弃不在您想要的细分受众群上的点数),情况会好一些。

然后检查(20, 30)(26, 30)之间的路径交叉点。如果这两个点位于路径中并且路径中存在零线/段交叉点,则您知道从(20, 30)(26, 30)的整条线都在路径中。