Skip to main content

HTML5 Canvas Set Shape Opacity Tutorial

To set a shape opacity with Konva, we can set the opacity property when we instantiate the node, or we can use the opacity() method.

Shapes can have an opacity value between 0 and 1, where 0 is fully transparent, and 1 is fully opaque. Unless otherwise specified, all shapes are defaulted with an opacity value of 1.

If you want to apply transparency for several shapes without seen overlapping areas, take a look into Transparent Group Demo

Instructions: Mouseover the pentagon to change its opacity.

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 pentagon = new Konva.RegularPolygon({
    x: stage.width() / 2,
    y: stage.height() / 2,
    sides: 5,
    radius: 70,
    fill: 'red',
    stroke: 'black',
    strokeWidth: 4,
    opacity: 0.5,
});

pentagon.on('mouseover', function () {
    this.opacity(1);
});

pentagon.on('mouseout', function () {
    this.opacity(0.5);
});

// add the shape to the layer

layer.add(pentagon);

// add the layer to the stage

stage.add(layer);