Propriedade globalCompositeOperation do Canvas
Definição e uso
globalCompositeOperation
Configuração de propriedades ou retorno de como desenhar uma imagem de origem (nova) em uma imagem de destino (já existente).
Imagem de origem = Desenho que você pretende colocar na tela.
Imagem de destino = Desenho que você já colocou na tela.
Exemplo
Exemplo 1
Desenhar retângulos com diferentes valores de globalCompositeOperation. O retângulo vermelho é a imagem de destino. O retângulo azul é a imagem de origem:
source-over destination-over
JavaScript:
var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="red"; ctx.fillRect(20,20,75,50); ctx.globalCompositeOperation="source-over"; ctx.fillStyle="blue"; ctx.fillRect(50,50,75,50); ctx.fillStyle="red"; ctx.fillRect(150,20,75,50); ctx.globalCompositeOperation="destination-over"; ctx.fillStyle="blue"; ctx.fillRect(180,50,75,50);
Exemplo 2
Todos os valores de atributo globalCompositeOperation:
Sintaxe
context.globalCompositeOperation="source-in";
Valor do atributo
Valor | Descrição |
---|---|
source-over | Padrão. Exibir a imagem de origem sobre a imagem de destino. |
source-atop | Exibir a imagem de origem no topo da imagem de destino. A parte da imagem de origem fora da imagem de destino não será visível. |
source-in | Exibir a imagem de origem dentro da imagem de destino. Apenas a parte da imagem de origem dentro da imagem de destino será exibida, a imagem de destino é transparente. |
source-out | Exibir a imagem de origem fora da imagem de destino. Apenas a parte da imagem de origem fora da imagem de destino será exibida, a imagem de destino é transparente. |
destination-over | Exibir a imagem de destino acima da imagem de origem. |
destination-atop | Exibir a imagem de destino no topo da imagem de origem. A parte da imagem de destino fora da imagem de origem não será exibida. |
destination-in | Exibir a imagem de destino dentro da imagem de origem. Apenas a parte da imagem de destino dentro da imagem de origem será exibida, a imagem de origem é transparente. |
destination-out | Exibir a imagem de destino fora da imagem de origem. Apenas a parte da imagem de destino fora da imagem de origem será exibida, a imagem de origem é transparente. |
lighter | Exibir a imagem de origem + imagem de destino. |
copy | Exibir a imagem de origem. Ignorar a imagem de destino. |
xor | Combine a imagem de origem com a imagem de destino usando a operação de XOR. |
Detalhes técnicos
Valor padrão: | source-over |
---|
Suporte do navegador
Os números na tabela indicam a versão do navegador que suporta plenamente essa propriedade pela primeira vez.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
4.0 | 9.0 | 3.6 | 4.0 | 10.1 |
Observação:O Internet Explorer 8 e versões anteriores não suportam o elemento <canvas>.