closePath(路径命令)

context.closePath()

从当前笔位置绘制一条线回到起始路径坐标。

例如,如果绘制 2 条线形成三角形的两条腿,则 closePath 将通过将第三条腿的第三条腿从第二条腿的端点拉回到第一条腿的起点来关闭三角形。

误解解释了!

此命令的名称经常导致它被误解。

context.closePath 不是 context.beginPath 的结束分隔符。

同样,closePath 命令绘制一条线 - 它不会关闭beginPath。

这个例子绘制了一个三角形的两条腿,并使用 closePath 通过绘制第三条腿来完成(关闭?!)三角形。closePath 实际上在做的是从第二条腿的端点画一条线回到第一条腿的起点。

StackOverflow 文档

<!doctype html>
<html>
<head>
<style>
    body{ background-color:white; }
    #canvas{border:1px solid red; }
</style>
<script>
window.onload=(function(){

    // get a reference to the canvas element and it's context
    var canvas=document.getElementById("canvas");
    var ctx=canvas.getContext("2d");

    // arguments
    var topVertexX=50;
    var topVertexY=50;
    var rightVertexX=75;
    var rightVertexY=75;
    var leftVertexX=25;
    var leftVertexY=75;

    // A set of line segments drawn to form a triangle using
    //     "moveTo" and multiple "lineTo" commands
    ctx.beginPath();
    ctx.moveTo(topVertexX,topVertexY);
    ctx.lineTo(rightVertexX,rightVertexY);
    ctx.lineTo(leftVertexX,leftVertexY);

    // closePath draws the 3rd leg of the triangle
    ctx.closePath()

    ctx.stroke();

}); // end window.onload
</script>
</head>
<body>
    <canvas id="canvas" width=200 height=150></canvas>
</body>
</html>