HTML5 CANVAS路径问题

各位好.
众所周知,canvas有一部分绘制是基于路径的,而绘制路径的方法有arcrect.
然后canvas还有一个看上去十分像绘制路径的方法,就是MoveTo/lineTo.
我现在想要判断某个点是否在canvas的某条直线上,而通过运用

ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(100,100);
ctx.closePath();
console.log(ctx.isPointInPath(30,30));

返回的永远是false....
现在我认为lineTo所绘制的并不是canvas路径
那么有什么方法可以判断某个点在canvas的某条直线上呢(在我拥有两个点的情况下)?

吐槽:isPointInPath居然还能判断点是否在封闭路径的内部,好的令我不敢相信啊

阅读 4.9k
1 个回答

isPointInPath 是判断指定的点是否在path构成的容器中,是一个封闭的图像path

ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(100,100);
ctx.closePath();

构成了一条直线,不是封闭图像

要想判断点是否在一条直线上,
使用isPointInStroke

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题