canvas标签isPointInPath判断指定点是否在闭合的路径里面。
判断点是否在闭合路径内

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>判断点是否在闭合路径内-HTML教程www.xuandaima.com</title>
</head>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
您的浏览器不支持 HTML5 canvas 标签。
</canvas>
<script>
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.arc(100,75,50,0,2*Math.PI);
if (ctx.isPointInPath(70,50))
{
ctx.stroke();
};
</script>
</body>
</html>| 说明字段 | 描述 |
|---|---|
| document.getElementById("myCanvas2") | 返回文档id属性为"myCanvas2"的对象 |
| getContext("2d") | getContext() 返回画布上绘图的环境。getContext("2d") 返回绘制类型(2 维)的环境,未来可能会支持3维,但现在支持2维。 |
| arc(100,75,50,0,2*Math.PI) | 圆弧路径的圆心在(100,75)位置,半径为50,根据(anticlockwise 默认为顺时针)指定的方向从0( startAngle) 开始绘制,到 2*Math.PI(endAngle )结束。 |
| if (ctx.isPointInPath(70,50)) | if函数判断是否为真,isPointlnPath(70,50),坐标X轴“70”Y轴“50”这个点是否在上面的圆路径里面 |
| stroke() | stroke()绘制当前路径 |
![]() | 点是要在闭合的路径里面的,比如点再一条线段上面是返回false的。 |
注意:Internet Explorer 8 及之前的版本不支持 <canvas> 元素。





context.isPointInPath(x,y);
| 参数 | 描述 |
|---|---|
| x | 测试的 x 坐标 |
| y | 测试的 y 坐标 |