--- title: CanvasRenderingContext2D.globalCompositeOperation slug: Web/API/CanvasRenderingContext2D/globalCompositeOperation translation_of: Web/API/CanvasRenderingContext2D/globalCompositeOperation ---
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.
ctx.globalCompositeOperation = type;
type
est de type {{jsxref("String")}} et permet de choisir quelle opération de composition ou de mode fondu utiliser.
{{EmbedLiveSample("Compositing_example", 750, 6900, "" ,"Web/API/Canvas_API/Tutorial/Compositing/Example")}}
Cet exemple utilise la propriété globalCompositeOperation
pour dessiner deux rectangles qui s'excluent l'un l'autre quand ils se superposent.
<canvas id="canvas"></canvas>
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);
{{ EmbedLiveSample('Changing_the_composite_operation', 700, 180) }}
Spécification | Etat | Commentaires |
---|---|---|
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-globalcompositeoperation", "CanvasRenderingContext2D.globalCompositeOperation")}} | {{Spec2('HTML WHATWG')}} | |
{{SpecName('Compositing')}} | {{Spec2('Compositing')}} |
{{Compat("api.CanvasRenderingContext2D.globalCompositeOperation")}}
ctx.setCompositeOperation()
est implémentée à la place de cette propriété."plus-darker"
et"darker"
a été abandonné à partir de Chrome 48. Veuillez utiliser "darken"
à la place."darker"
. Cependant, Firefox a abandonné le support de "darker"
dans sa version 4 ({{bug(571532)}}). Voir aussi cet article de blog qui suggère l'utilisation de "difference"
pour parvenir à un effet similaire à "darker"
.