Skip to main content

HTML5 Canvas 阴影教程

要使用 Konva 应用阴影,我们可以在实例化形状时设置 shadowColorshadowOffsetshadowBlurshadowOpacity 属性。

我们可以在实例化后使用 shadowColor()shadowOffset()shadowBlur()shadowOpacity() 方法来调整阴影属性。

说明:鼠标悬停在星形上以更改其阴影属性。

import Konva from 'konva';

var width = window.innerWidth;
var height = window.innerHeight;

var stage = new Konva.Stage({
    container: 'container',
    width: width,
    height: height,
});

var layer = new Konva.Layer();

var text = new Konva.Text({
    text: 'Text Shadow!',
    fontFamily: 'Calibri',
    fontSize: 40,
    x: 20,
    y: 20,
    stroke: 'red',
    strokeWidth: 2,
    shadowColor: 'black',
    shadowBlur: 0,
    shadowOffset: { x: 10, y: 10 },
    shadowOpacity: 0.5,
});

var line = new Konva.Line({
    stroke: 'green',
    strokeWidth: 10,
    lineJoin: 'round',
    lineCap: 'round',
    points: [50, 140, 250, 160],
    shadowColor: 'black',
    shadowBlur: 10,
    shadowOffset: { x: 10, y: 10 },
    shadowOpacity: 0.5,
});

var rect = new Konva.Rect({
    x: 100,
    y: 120,
    width: 100,
    height: 50,
    fill: '#00D2FF',
    stroke: 'black',
    strokeWidth: 4,
    shadowColor: 'black',
    shadowBlur: 10,
    shadowOffset: { x: 10, y: 10 },
    shadowOpacity: 0.5,
});

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