Konva Template

by hoolymama

HTML

<script src="https://cdn.rawgit.com/konvajs/konva/0.10.0/konva.min.js"></script>
<div id="container"></div>

CSS

body {
  margin: 0;
}

Babel + JSX

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

const zoomlayer = new Konva.Layer();
const panlayer = new Konva.Layer();
const contentlayer = new Konva.Layer();
const selectionlayer = new Konva.Layer();


  var bg = new Konva.Rect({
      x: 10,
      y:10,
      width: 500,
      height: 500,
      fill: 'rgb(120,120,120)',
    });
    layer.add(bg);
  
  var grp = new Konva.Group({
  x:250,
  y:250,
  scaleX:4,
  scaleY:4
  });
 
 var stops ={
 red: [0, 'rgb(230, 180, 180)', 0.75, 'rgb(200,0,0)', 1, "rgb(100,0,0)"],
 yellow: [0, 'rgb(247, 240, 230)', 0.75, 'rgb(200,150, 0)', 1, "rgb(100,40,0)"],
 green: [0, 'rgb(180,230,  180)', 0.75, 'rgb(0,150,0)', 1, "rgb(0,100,0)"],
 
 }
 
var outerborder = new Konva.Circle({
      x: 0,
      y: 0,
      radius:20,
        stroke: 'rgb(0,0,0)',
              strokeWidth: 1,

  fillLinearGradientStartPoint: { x : 0, y : -12},
  fillLinearGradientEndPoint:   { x : 0, y : 12},
 fillLinearGradientColorStops: [0,'rgb(220,220,220)', 1, 'rgb(100,100,100)'],
 shadowOffset: {x:0,y:2},
 shadowColor: "rgb(0,0,0)",
 shadowOpacity: 0.3,
 shadowBlur:5
 
 
 });
    grp.add(outerborder);
var innerborder = new Konva.Circle({
      x: 0,
      y: 0,
      radius: 18,
  fillLinearGradientStartPoint: { x : 0, y : -12},
  fillLinearGradientEndPoint:   { x : 0, y :12},
 fillLinearGradientColorStops: [0, 'rgb(100,100,100)', 1, 'rgb(220,220,220)']
 
 });

    grp.add(innerborder);
    
  var inner = new Konva.Circle({
      x: 0,
      y: 0,
      radius:16,
      stroke: 'rgb(50,0,0)',
      strokeWidth: 1,
 fillRadialGradientStartPoint: {x:0,y:-8},
            fillRadialGradientStartRadius: 4,
            fillRadialGradientEndPoint: 0,
            fillRadialGradientEndRadius: 16,
            fillRadialGradientColorStops:stops.green,
    });
    
    grp.add(inner);
    
    
    layer.add(grp);
    layer.draw();