MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

O método CanvasRenderingContext2D.closePath() da API Canvas 2D faz o ponto da caneta (pen) mover-se de volta para o início do sub-caminho (sub-path) atual. Tenta adicionar uma nova linha (mas não a desenha realmente) que conecta o ponto atual até o ponto inicial. Se a região (shape) já estiver fechada, ou tem somente um ponto na tela, esta função não funciona.

Sintaxe

void ctx.closePath();

Exemplos

Usando o método beginPath

Isto é só um simples trecho de código que usa o método fillRect.

HTML

<canvas id="canvas"></canvas>

JavaScript

var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(200, 20);
ctx.lineTo(120, 120);
ctx.closePath(); // desenha a última linha do triângulo
ctx.stroke();

Edite o código abaixo e veja as alterações instantâneas no canvas:

Playable code
<canvas id="canvas" width="400" height="200" class="playable-canvas"></canvas>
<div class="playable-buttons">
  <input id="edit" type="button" value="Edit" />
  <input id="reset" type="button" value="Reset" />
</div>
<textarea id="code" class="playable-code" style="height:140px;">
ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(200,20);
ctx.lineTo(120,120);
ctx.closePath(); // draws last line of the triangle
ctx.stroke();</textarea>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var textarea = document.getElementById("code");
var reset = document.getElementById("reset");
var edit = document.getElementById("edit");
var code = textarea.value;

function drawCanvas() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  eval(textarea.value);
}

reset.addEventListener("click", function() {
  textarea.value = code;
  drawCanvas();
});

edit.addEventListener("click", function() {
  textarea.focus();
})

textarea.addEventListener("input", drawCanvas);
window.addEventListener("load", drawCanvas);

Especificações

Especificação Estado Comentário
WHATWG HTML Living Standard
The definition of 'CanvasRenderingContext2D.closePath' in that specification.
Living Standard  

Compatibilidade em Navegadores

Característica Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Característica Android Chrome para Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também

Etiquetas do documento e colaboradores

 Colaboradores desta página: MarceloBRN
 Última atualização por: MarceloBRN,