Recherche…


Dessiner derrière des formes existantes avec "destination-over"

context.globalCompositeOperation = "destination-over"

"destination-over" compositing place le nouveau dessin sous les dessins existants .

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

entrer la description de l'image ici

Effacer les formes existantes avec "destination-out"

context.globalCompositeOperation = "destination-out"

Le compositing "destination-out" utilise de nouvelles formes pour effacer les dessins existants.

La nouvelle forme n’est pas réellement dessinée - elle est simplement utilisée comme un "cookie-cutter" pour effacer les pixels existants.

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

entrer la description de l'image ici

Composition par défaut: les nouvelles formes sont dessinées sur des formes existantes

context.globalCompositeOperation = "source-over"

"source-over" compositing [default] , place tous les nouveaux dessins sur les dessins existants.

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

entrer la description de l'image ici

Clip images à l'intérieur des formes avec "destination-in"

context.globalCompositeOperation = "destination-in"

"destination-in" composant des clips des dessins existants dans une nouvelle forme.

Remarque: toute partie du dessin existant qui ne fait pas partie du nouveau dessin est effacée.

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

entrer la description de l'image ici

Clip images à l'intérieur des formes avec "source-in"

context.globalCompositeOperation = "source-in";

source-in compositing clips de nouveaux dessins à l'intérieur d'une forme existante.

Remarque: toute partie du nouveau dessin qui ne fait pas partie du dessin existant est effacée.

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

entrer la description de l'image ici

Ombres intérieures avec "source-atop"

context.globalCompositeOperation = 'source-atop'

source-atop compositing clips nouvelle image dans une forme existante.

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

entrer la description de l'image ici

Inverser ou annuler l'image avec "différence"

Rendre un rectangle blanc sur une image avec l'opération composite

ctx.globalCompositeOperation = 'difference';

Le montant de l'effet peut être contrôlé avec le paramètre alpha

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

entrer la description de l'image ici

Noir et blanc avec "couleur"

Supprimer la couleur d'une image via

ctx.globalCompositeOperation = 'color';

Le montant de l'effet peut être contrôlé avec le paramètre alpha

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

entrer la description de l'image ici

Augmente le contraste des couleurs avec "saturation"

Augmente le niveau de saturation d’une image avec

ctx.globalCompositeOperation = 'saturation';

La quantité d'effet peut être contrôlée avec le paramètre alpha ou la quantité de saturation dans la couche de remplissage

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

entrer la description de l'image ici

Sépia FX avec "luminosité"

Créez un effet sépia coloré avec

ctx.globalCompositeOperation = 'luminosity';

Dans ce cas, la couleur sépia est rendue d'abord l'image.

La quantité d'effet peut être contrôlée avec le paramètre alpha ou la quantité de saturation dans la couche de remplissage

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

entrer la description de l'image ici

Changer l'opacité avec "globalAlpha"

context.globalAlpha=0.50

Vous pouvez modifier l'opacité des nouveaux dessins en définissant le paramètre globalAlpha sur une valeur comprise entre 0,00 (entièrement transparent) et 1,00 (totalement opaque).

Le globalAlpha par défaut est 1.00 (complètement opaque).

Les dessins existants ne sont pas affectés par 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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow