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 坐标 |