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>