MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

CanvasRenderingContext2D.clip()

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

O método CanvasRenderingContext2D.clip() da API do Canvas 2D transforma o caminho atualmente construido em um caminho atual de recorte.

Sintaxe

void ctx.clip();
void ctx.clip(fillRule);
void ctx.clip(path, fillRule);

Parâmetros

fillRule
O algoritmo pelo qual determina se um ponto esta dentro de um caminho ou fora de um caminho.
Valores Possíveis:
path
Um Path2D caminho para recorte.

Exemplos

Usando do método de corte

Isso é só um simples fragmento de código que usa o método de corte para criar uma região de recorte.

HTML

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

JavaScript

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

// Cria uma região de recorte
ctx.arc(100, 100, 75, 0, Math.PI*2, false);
ctx.clip();

ctx.fillRect(0, 0, 100,100);

Edite o código abaixo e veja suas mudanças atualizadas ao vivo 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">
ctx.arc(100, 100, 75, 0, Math.PI*2, false);
ctx.clip();
ctx.fillRect(0, 0, 100,100);</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);

Nota: Tenha consciência de que o clip() só funciona com formas adicionadas ao caminho; ele não funciona com uma forma primitiva, como retângulos criados com fillRect(). Nesse caso você teria que usar rect() para desenhar um caminho de forma retângular para ser recortado.

Especificações

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

Compatibilidade com os navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte Básico (Yes) (Yes) (Yes) (Yes) (Yes)
Parametro do Caminho ? 31 (31) Não suportado ? Não suportado
Característica Android Chrome para Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte Básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Parametro do Caminho ? ? 31.0 (31) ? ? ?

Ver também

Etiquetas do documento e colaboradores

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