各位好.
众所周知,canvas有一部分绘制是基于路径的,而绘制路径的方法有arc
和rect
.
然后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
居然还能判断点是否在封闭路径的内部,好的令我不敢相信啊
isPointInPath
是判断指定的点是否在path构成的容器中,是一个封闭的图像path构成了一条直线,不是封闭图像
要想判断点是否在一条直线上,
使用
isPointInStroke