Ricerca…


Disegna dietro le forme esistenti con "destination-over"

context.globalCompositeOperation = "destination-over"

Il compositing "destination-over" posiziona il nuovo disegno sotto i disegni esistenti .

context.drawImage(rainy,0,0);
context.globalCompositeOperation='destination-over';  // sunny UNDER rainy
context.drawImage(sunny,0,0);

inserisci la descrizione dell'immagine qui

Cancellare le forme esistenti con "destinazione-out"

context.globalCompositeOperation = "destination-out"

Il compositing "destination-out" utilizza nuove forme per cancellare i disegni esistenti.

La nuova forma non viene effettivamente disegnata, ma viene semplicemente utilizzata come "cookie-cutter" per cancellare i pixel esistenti.

context.drawImage(apple,0,0);
context.globalCompositeOperation = 'destination-out';   // bitemark erases
context.drawImage(bitemark,100,40);

inserisci la descrizione dell'immagine qui

Compositing predefinito: nuove forme sono disegnate su forme esistenti

context.globalCompositeOperation = "source-over"

Compositing "source-over" [predefinito] , colloca tutti i nuovi disegni su qualsiasi disegno esistente.

context.globalCompositeOperation='source-over';  // the default
context.drawImage(background,0,0);
context.drawImage(parachuter,0,0);

inserisci la descrizione dell'immagine qui

Ritaglia immagini all'interno di forme con "destinazione in entrata"

context.globalCompositeOperation = "destination-in"

"destination-in" compositing clip disegni esistenti all'interno di una nuova forma.

Nota: qualsiasi parte del disegno esistente che cade all'esterno del nuovo disegno viene cancellata.

context.drawImage(picture,0,0);
context.globalCompositeOperation='destination-in';  // picture clipped inside oval
context.drawImage(oval,0,0);

inserisci la descrizione dell'immagine qui

Ritaglia immagini all'interno di forme con "sorgente d'ingresso"

context.globalCompositeOperation = "source-in";

source-in compositing source-in ritaglia nuovi disegni all'interno di una forma esistente.

Nota: qualsiasi parte del nuovo disegno che cade all'esterno del disegno esistente viene cancellata.

context.drawImage(oval,0,0);
context.globalCompositeOperation='source-in';  // picture clipped inside oval
context.drawImage(picture,0,0);

inserisci la descrizione dell'immagine qui

Ombre interne con "source-atop"

context.globalCompositeOperation = 'source-atop'

source-atop compositing clip nuova immagine all'interno di una forma esistente.

// gold filled rect
ctx.fillStyle='gold';
ctx.fillRect(100,100,100,75);
// shadow
ctx.shadowColor='black';
ctx.shadowBlur=10;
// restrict new draw to cover existing pixels
ctx.globalCompositeOperation='source-atop';
// shadowed stroke
// "source-atop" clips off the undesired outer shadow
ctx.strokeRect(100,100,100,75);
ctx.strokeRect(100,100,100,75);

inserisci la descrizione dell'immagine qui

Inverti o nega l'immagine con "differenza"

Rendering di un rettangolo bianco su un'immagine con l'operazione composita

ctx.globalCompositeOperation = 'difference';

La quantità dell'effetto può essere controllata con l'impostazione alfa

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.drawImage(image, 0, 0);

// set the composite operation
ctx.globalCompositeOperation='difference';
ctx.fillStyle = "white";
ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.fillRect(0, 0, image.width, image.height);

inserisci la descrizione dell'immagine qui

Bianco e nero con "colore"

Rimuovi il colore da un'immagine tramite

ctx.globalCompositeOperation = 'color';

La quantità dell'effetto può essere controllata con l'impostazione alfa

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.drawImage(image, 0, 0);

// set the composite operation
ctx.globalCompositeOperation='color';
ctx.fillStyle = "white";
ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.fillRect(0, 0, image.width, image.height);

inserisci la descrizione dell'immagine qui

Aumentare il contrasto del colore con "saturazione"

Aumentare il livello di saturazione di un'immagine con

ctx.globalCompositeOperation = 'saturation';

La quantità dell'effetto può essere controllata con l'impostazione alfa o la quantità di saturazione nella sovrapposizione di riempimento

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.drawImage(image, 0, 0);

// set the composite operation
ctx.globalCompositeOperation ='saturation';
ctx.fillStyle = "red";
ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.fillRect(0, 0, image.width, image.height);

inserisci la descrizione dell'immagine qui

Seppia FX con "luminosità"

Crea un seppia colorato con

ctx.globalCompositeOperation = 'luminosity';

In questo caso il colore seppia viene reso prima l'immagine.

La quantità dell'effetto può essere controllata con l'impostazione alfa o la quantità di saturazione nella sovrapposizione di riempimento

// Render the image
ctx.globalCompositeOperation='source-atop';
ctx.fillStyle = "#F80";  // the color of the sepia FX
ctx.fillRect(0, 0, image.width, image.height);

// set the composite operation
ctx.globalCompositeOperation ='luminosity';

ctx.globalAlpha = alpha;  // alpha 0 = no effect 1 = full effect
ctx.drawImage(image, 0, 0);

inserisci la descrizione dell'immagine qui

Cambia opacità con "globalAlpha"

context.globalAlpha=0.50

È possibile modificare l'opacità dei nuovi disegni impostando globalAlpha su un valore compreso tra 0,00 (completamente trasparente) e 1.00 (completamente opaco).

Il valore predefinito globalAlpha è 1.00 (completamente opaco).

I disegni esistenti non sono influenzati da globalAlpha .

// draw an opaque rectangle
context.fillRect(10,10,50,50);

// change alpha to 50% -- all new drawings will have 50% opacity
context.globalAlpha=0.50;

// draw a semi-transparent rectangle
context.fillRect(100,10,50,50);


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow