--- title: CanvasRenderingContext2D.globalCompositeOperation slug: Web/API/CanvasRenderingContext2D/globalCompositeOperation translation_of: Web/API/CanvasRenderingContext2D/globalCompositeOperation ---
{{APIRef}}

La propriété CanvasRenderingContext2D.globalCompositeOperation de l'API Canvas 2D définit le type d'opération de composition à appliquer lors du tracé de nouvelles formes.

Voir aussi Composition et découpe dans le Tutoriel canvas.

Syntaxe

ctx.globalCompositeOperation = type;

type est de type {{jsxref("String")}} et permet de choisir quelle opération de composition ou de mode fondu utiliser.

Types

{{EmbedLiveSample("Compositing_example", 750, 6900, "" ,"Web/API/Canvas_API/Tutorial/Compositing/Example")}}

Examples

Changer l'opération de composition

Cet exemple utilise la propriété globalCompositeOperation pour dessiner deux rectangles qui s'excluent l'un l'autre quand ils se superposent.

HTML

<canvas id="canvas"></canvas>

JavaScript

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');

ctx.globalCompositeOperation = 'xor';

ctx.fillStyle = 'blue';
ctx.fillRect(10, 10, 100, 100);

ctx.fillStyle = 'red';
ctx.fillRect(50, 50, 100, 100);

Résultat

{{ EmbedLiveSample('Changing_the_composite_operation', 700, 180) }}

Spécifications

Spécification Etat Commentaires
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-globalcompositeoperation", "CanvasRenderingContext2D.globalCompositeOperation")}} {{Spec2('HTML WHATWG')}}
{{SpecName('Compositing')}} {{Spec2('Compositing')}}

Compatibilité des navigateurs

{{Compat("api.CanvasRenderingContext2D.globalCompositeOperation")}}

Remarques concernant Gecko

Voir aussi