Suche…


Mit "destination-over" hinter bestehende Formen zeichnen

context.globalCompositeOperation = "destination-over"

Beim "destination-over" -Compositing wird eine neue Zeichnung unter den vorhandenen Zeichnungen platziert .

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

Geben Sie hier die Bildbeschreibung ein

Vorhandene Shapes mit "destination-out" löschen

context.globalCompositeOperation = "destination-out"

"Destination-Out" Compositing verwendet neue Formen, um vorhandene Zeichnungen zu löschen.

Die neue Form wird nicht wirklich gezeichnet - sie wird nur als "Ausstecher" verwendet, um vorhandene Pixel zu löschen.

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

Geben Sie hier die Bildbeschreibung ein

Standardzusammenstellung: Neue Formen werden über vorhandene Formen gezeichnet

context.globalCompositeOperation = "source-over"

Beim "source-over" -Compositing [Standard] werden alle neuen Zeichnungen über vorhandenen Zeichnungen platziert.

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

Geben Sie hier die Bildbeschreibung ein

Bilder in Formen mit "destination-in" ausschneiden

context.globalCompositeOperation = "destination-in"

Beim "Ziel-in" -Compositing werden vorhandene Zeichnungen in eine neue Form eingefügt.

Hinweis: Alle Teile der vorhandenen Zeichnung, die außerhalb der neuen Zeichnung liegen, werden gelöscht.

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

Geben Sie hier die Bildbeschreibung ein

Bilder innerhalb von Formen mit "source-in" ausschneiden

context.globalCompositeOperation = "source-in";

source-in Compositing werden neue Zeichnungen in eine vorhandene Form eingefügt.

Hinweis: Alle Teile der neuen Zeichnung, die außerhalb der vorhandenen Zeichnung liegen, werden gelöscht.

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

Geben Sie hier die Bildbeschreibung ein

Innere Schatten mit "Quelle auf"

context.globalCompositeOperation = 'source-atop'

source-atop neue Bild in eine vorhandene Form eingefügt.

// 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);

Geben Sie hier die Bildbeschreibung ein

Bild mit "Unterschied" invertieren oder negieren

Rendern Sie mit dem Composite-Vorgang ein weißes Rechteck über einem Bild

ctx.globalCompositeOperation = 'difference';

Die Stärke des Effekts kann mit der Alpha-Einstellung gesteuert werden

// 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);

Geben Sie hier die Bildbeschreibung ein

Schwarzweiß mit "Farbe"

Farbe aus einem Bild entfernen über

ctx.globalCompositeOperation = 'color';

Die Stärke des Effekts kann mit der Alpha-Einstellung gesteuert werden

// 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);

Geben Sie hier die Bildbeschreibung ein

Erhöhen Sie den Farbkontrast mit "Sättigung"

Erhöhen Sie den Sättigungsgrad eines Bildes mit

ctx.globalCompositeOperation = 'saturation';

Die Stärke des Effekts kann mit der Alpha-Einstellung oder der Sättigung der Füllüberlagerung gesteuert werden

// 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);

Geben Sie hier die Bildbeschreibung ein

Sepia FX mit "Leuchtkraft"

Erstellen Sie einen farbigen Sepia-FX mit

ctx.globalCompositeOperation = 'luminosity';

In diesem Fall wird die Sepia-Farbe zuerst im Bild dargestellt.

Die Stärke des Effekts kann mit der Alpha-Einstellung oder der Sättigung der Füllüberlagerung gesteuert werden

// 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);

Geben Sie hier die Bildbeschreibung ein

Deckkraft mit "globalAlpha" ändern

context.globalAlpha=0.50

Sie können die Deckkraft neuer Zeichnungen ändern, indem globalAlpha für globalAlpha einen Wert zwischen 0,00 (vollständig transparent) und 1,00 (vollständig undurchsichtig) globalAlpha .

Der Standardwert für globalAlpha ist 1,00 (vollständig undurchsichtig).

Bestehende Zeichnungen sind von globalAlpha nicht betroffen.

// 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow