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

Composizione del Canvas HTML5

Quando si disegna una forma sulla lavagna HTML5, è possibile impostare come mescolare il contenuto disegnato con il contenuto già disegnato sulla lavagna. Questo articolo spiega come mescolare il contenuto di disegno con il contenuto esistente sulla lavagna.

Sintesi della lavagna

Il contesto 2D ha due attributi che controllano il modello di sintesi della lavagna. Questi sono:

  1. globalAlpha

  2. globalCompositeOperation

globalAlpha

L'attributo globalAlpha determina la trasparenza/opacità del contenuto disegnato. Può avere valori tra 0 e 1. 0 significa che il contenuto disegnato è completamente trasparente. Un valore di 0.5 significa che il contenuto disegnato è semi-trasparente. Un valore di 1 significa che il contenuto disegnato è completamente opaco. Il valore predefinito è 1.
L'attributo globalAlpha è impostato come segue:

context.globalAlpha = 0.5;

globalCompositeOperation

L'attributo globalCompositeOperation determina come il contenuto che disegni si mescola con l'immagine esistente sulla lavagna.
L'attributo globalCompositeOperation è impostato come segue:

context.globalCompositeOperation = "copy";

globalCompositeOperation fa riferimento a "origine" e "destinazione" e specifica come mescolare origine e destinazione. L'origine è il contenuto che disegni, la destinazione è il contenuto già disegnato. Ecco una lista dei valori possibili e del loro significato:



ValoreDescrizione
copyNelle aree sovrapposte di origine e destinazione viene visualizzata l'origine.
destination-atopQuando origine e destinazione si sovrappongono e entrambi non sono opachi, viene visualizzata la destinazione.Se la destinazione è trasparente, viene visualizzata l'origine.
destination-inNelle aree sovrapposte di origine e destinazione e se entrambi non sono opachi, viene visualizzata la destinazione.Nelle aree senza sovrapposizione non viene visualizzata l'origine.
destination-outNelle aree non sovrapposte di origine e destinazione viene visualizzata la destinazione.In ogni altro luogo viene visualizzata la trasparenza.
destination-overNelle aree sovrapposte di origine e destinazione viene visualizzata la destinazione.Se non c'è sovrapposizione, viene visualizzata l'origine.
source-atopNelle aree sovrapposte di origine e destinazione viene visualizzata l'origine.Nelle aree senza sovrapposizione o se l'origine è trasparente, viene visualizzata la destinazione.
source-inQuando origine e destinazione si sovrappongono e entrambi non sono opachi, viene visualizzata l'origine.In ogni altro luogo viene visualizzata la trasparenza.
source-outNelle aree non sovrapposte di origine e destinazione viene visualizzata l'origine.In ogni altro luogo viene visualizzata la trasparenza.
source-overQuando la sorgente è opaca, viene visualizzata la sorgente.Il destinazione viene visualizzato in ogni altro luogo.
lighterI colori sorgente e di destinazione si sommano, rendendo i colori più chiari e muovendosi verso il valore 1 del colore (la massima luminosità di quel colore).
xor

Esempio di Composizione del Canvas HTML5

Questo è un esempio di canvas dove puoi usare modi di composizione e valori alpha. Puoi cambiare i modi di composizione cliccando sui pulsanti. Puoi cambiare il modo Alpha usando i controlli sotto il canvas.

Canvas HTML5 non supportato

globalAlpha

Se vedi il campo di testo globalAlpha, inserisci un valore tra 0 e 100. Il codice convertirà il valore tra 0 e 1.0. Altrimenti, usa lo slider.
Attenzione: Al momento della scrittura di questo articolo, Firefox e Chrome gestiscono questi modi di composizione in modo diverso. Sembra anche che siano diversi da rects e text, come funzionano questi modi. Prova diversi modi nei vari browser che intendi supportare per capire come funzionano.