Attribut globalCompositeOperation du canvas HTML

Définition et utilisation

globalCompositeOperation Définit ou retourne comment dessiner une image source (nouvelle) sur une image cible (existante).

Image source = Dessin que vous prévoyez de placer sur le canevas.

Image cible = Dessin que vous avez déjà placé sur le canevas.

Exemple

Exemple 1

Tracez des rectangles avec différentes valeurs de globalCompositeOperation. Le rectangle rouge est l'image cible. Le rectangle bleu est l'image source :

     source-over             destination-over

Votre navigateur ne prend pas en charge la balise canvas.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(20,20,75,50);
ctx.globalCompositeOperation="source-over";
ctx.fillStyle="blue";
ctx.fillRect(50,50,75,50);
ctx.fillStyle="red";
ctx.fillRect(150,20,75,50);
ctx.globalCompositeOperation="destination-over";
ctx.fillStyle="blue";
ctx.fillRect(180,50,75,50);

Essayer vous-même

Exemple 2

Toutes les valeurs de l'attribut globalCompositeOperation :

Essayer vous-même

Syntaxe

context.globalCompositeOperation="source-in";

Valeur de l'attribut

Valeur Description
source-over Par défaut. Afficher l'image source sur l'image cible.
source-atop Afficher l'image source en haut de l'image cible. La partie de l'image source située en dehors de l'image cible est invisible.
source-in Afficher l'image source dans l'image cible. Seulement une partie de l'image source à l'intérieur de l'image cible sera affichée, et l'image cible est transparente.
source-out Afficher l'image source en dehors de l'image cible. Seulement une partie de l'image source en dehors de l'image cible sera affichée, et l'image cible est transparente.
destination-over Afficher l'image cible au-dessus de l'image source.
destination-atop Afficher l'image cible en haut de l'image source. La partie de l'image cible en dehors de l'image source ne sera pas affichée.
destination-in Afficher l'image cible dans l'image source. Seulement la partie de l'image cible dans l'image source sera affichée, l'image source est transparente.
destination-out Afficher l'image cible en dehors de l'image source. Seulement la partie de l'image cible en dehors de l'image source sera affichée, l'image source est transparente.
lighter Afficher l'image source + l'image cible.
copy Afficher l'image source. Ignorer l'image cible.
xor Combiner l'image source et l'image cible en utilisant l'opérateur XOR.

Détails techniques

Valeur par défaut : source-over

Support du navigateur

Les numéros dans le tableau indiquent la version du navigateur qui prend en charge cette propriété pour la première fois.

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.6 4.0 10.1

Remarque :Internet Explorer 8 et les versions antérieures ne prennent pas en charge l'élément <canvas>.