Propiedad HTML canvas globalCompositeOperation
Ejemplo
Dibuje rectángulos usando dos valores globalesCompositeOperation diferentes. Los rectángulos rojos son imágenes de destino . Los rectángulos azules son imágenes de origen :
fuente-sobre
destino terminado
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);
Compatibilidad con navegador
Internet Explorer 9, Firefox, Opera, Chrome y Safari admiten la propiedad globalCompositeOperation.
Definición y uso
La propiedad globalCompositeOperation establece o devuelve cómo se dibuja una imagen de origen (nueva) en una imagen de destino (existente).
imagen de origen = dibujos que está a punto de colocar en el lienzo.
imagen de destino = dibujos que ya están colocados en el lienzo.
Valor por defecto: | fuente-sobre |
---|---|
Sintaxis de JavaScript: | contexto .globalCompositeOperation="fuente-en"; |
Valores de propiedad
Value | Description | Play it |
---|---|---|
source-over | Default. Displays the source image over the destination image | |
source-atop | Displays the source image on top of the destination image. The part of the source image that is outside the destination image is not shown | |
source-in | Displays the source image in to the destination image. Only the part of the source image that is INSIDE the destination image is shown, and the destination image is transparent | |
source-out | Displays the source image out of the destination image. Only the part of the source image that is OUTSIDE the destination image is shown, and the destination image is transparent | |
destination-over | Displays the destination image over the source image | |
destination-atop | Displays the destination image on top of the source image. The part of the destination image that is outside the source image is not shown | |
destination-in | Displays the destination image in to the source image. Only the part of the destination image that is INSIDE the source image is shown, and the source image is transparent | |
destination-out | Displays the destination image out of the source image. Only the part of the destination image that is OUTSIDE the source image is shown, and the source image is transparent | |
lighter | Displays the source image + the destination image | |
copy | Displays the source image. The destination image is ignored | |
xor | The source image is combined by using an exclusive OR with the destination image |
Ejemplo
Todos los valores de la propiedad globalCompositeOperation: