跳到主要内容

HTML5 Canvas 使用 globalCompositeOperation 的混合模式教程

globalCompositeOperation 文档

使用 Konva 框架,可以通过 globalCompositeOperation 属性设置 globalCompositeOperation 或混合模式操作。

操作说明:将红色矩形拖到绿色文本上,查看 XOR 混合效果。

import Konva from 'konva';

const stage = new Konva.Stage({
container: 'container',
width: window.innerWidth,
height: window.innerHeight
});

const layer = new Konva.Layer();

const text = new Konva.Text({
text: 'Text Shadow!',
fontFamily: 'Calibri',
fontSize: 40,
x: 20,
y: 20,
fill: 'green',
shadowColor: 'white',
shadowOffset: { x: 10, y: 10 }
});
layer.add(text);

const rect = new Konva.Rect({
x: 50,
y: 50,
width: 100,
height: 100,
fill: 'red',
draggable: true,
globalCompositeOperation: 'xor'
});

layer.add(rect);
stage.add(layer);