Canvas globalCompositeOperation Property

❮ Canvas Reference

Example

Draw 2 rectangles. Red rectangles are destinations. Blue rectangles are sources:

YourbrowserdoesnotsupporttheHTML5canvastag.

JavaScript:

const canvas = document.getElementById("myCanvas");
const ctx = canvas.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);
Try it Yourself »

Description

The globalCompositeOperation property sets or returns how a source are drawn over a destination.

Source = drawings you are about to draw on the canvas.

Destination = drawings that are already drawn on the canvas.


Syntax

context.globalCompositeOperation = "value"

Property Values

Value Description Play it
source-over Default
Displays the source over the destination
Play it »
source-atop Displays the source on top of the destination. The part of the source image that is outside the destination is not shown Play it »
source-in Displays the source in the destination. Only the part of the source that is INSIDE the destination is shown, and the destination is transparent Play it »
source-out Displays the source out of the destination. Only the part of the source that is OUTSIDE the destination is shown, and the destination is transparent Play it »
destination-over Displays the destination over the source Play it »
destination-atop Displays the destination on top of the source. The part of the destination that is outside the source is not shown Play it »
destination-in Displays the destination in the source. Only the part of the destination that is INSIDE the source is shown, and the source is transparent Play it »
destination-out Displays the destination out of the source. Only the part of the destination that is OUTSIDE the source is shown, and the source is transparent Play it »
lighter Displays the source + the destination Play it »
copy Displays the source. The destination is ignored Play it »
xor The source is combined by using an exclusive OR with the destination Play it »


Example

All the globalCompositeOperation property values:

Try it Yourself »

Browser Support

The <canvas> element is an HTML5 standard (2014).

globalCompositOperation is supported in all modern browsers:

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes 9-11

❮ Canvas Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.