English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

HTML5 Composição de Canvas

No HTML5Quando você desenhar formas na tela, pode configurar como o conteúdo desenhado será composto com o conteúdo já desenhado na tela. Este artigo explica como mesclar o conteúdo de desenho com o conteúdo existente na tela.

Composição de tela

2O contexto D possui duas propriedades que controlam o modo de composição da tela. Essas são:

  1. globalAlpha

  2. globalCompositeOperation

globalAlpha

A propriedade globalAlpha determina a opacidade do conteúdo desenhado/Opacidade. Pode variar de 0 a1entre esses valores. 0 representa que o conteúdo desenhado é completamente transparente. O valor é 0.5Representa que o conteúdo desenhado é semi-transparente. O valor é1Representa que o conteúdo desenhado é completamente opaco. O valor padrão é1.
A propriedade globalAlpha é configurada da seguinte forma:

context.globalAlpha = 0.5;

globalCompositeOperation

A propriedade globalCompositeOperation determina como o conteúdo que você desenhou é mesclado com a grafia existente na tela.
A propriedade globalCompositeOperation é configurada da seguinte forma:

context.globalCompositeOperation = "copy";

A propriedade globalCompositeOperation referencia "origem" e "destino", e especifica como mesclar origem e destino. A origem é o conteúdo que você desenhou, e o destino é o conteúdo que já foi desenhado. A seguir está uma lista de possíveis valores e seus significados:



valordescrição
copyNo lugar onde a origem e o destino se sobrepoem, a origem será exibida.
destino-atopO destino será exibido quando a origem e o destino se sobrepoem e ambos não são opacos.Se o destino for transparente, a origem será exibida.
destino-inNo lugar onde a origem e o destino se sobrepoem e ambos não são opacos, o destino será exibido.O lugar onde não há sobreposição não exibirá a origem.
destino-outO destino será exibido em qualquer lugar onde a origem e o destino não se sobrepoem.A transparência será exibida em qualquer outro lugar.
destino-overNo lugar onde a origem e o destino se sobrepoem, o destino será exibido.Se não houver sobreposição, a origem será exibida.
origem-atopNo lugar onde a origem e o destino se sobrepoem, a origem será exibida.Será exibido o destino onde não há sobreposição ou onde a origem é transparente.
origem-inQuando a origem e o destino se sobrepoem e ambos não são opacos, a origem será exibida.A transparência será exibida em qualquer outro lugar.
origem-outNo lugar onde a origem e o destino não se sobrepoem, a origem será exibida.A transparência será exibida em qualquer outro lugar.
origem-overQuando a origem é opaca, a origem será exibida.o destino é exibido em qualquer outro lugar.}}
lighterAs cores de origem e destino se sobrepoem, tornando as cores mais brilhantes, na direção de1mover o valor do brilho (a maior luminosidade da cor).
xor

HTML5Exemplo de Composição do Canvas

Este é um exemplo de canvas onde você pode usar modos de composição e valores alpha. Você pode alterar os modos de composição clicando no botão. Você pode alterar o modo Alpha usando os controles abaixo do canvas.

HTML5 Canvas não suportado

globalAlpha

se você ver o campo de texto globalAlpha, insira valores entre 0 e10valores entre 0 e 1. O código convertirá os valores para 0 a1valores entre 0.0 e 1.0. Caso contrário, use o deslizador.
Atenção: No momento da redação deste artigo, Firefox e Chrome tratam desses modos de composição de forma diferente. Parece também que eles se comportam de maneira diferente com rects e text, como esses modos funcionam. Experimente diferentes modos em diferentes navegadores que você planeja suportar para entender como eles funcionam.