HTML5 canvas Image Tutorial

Get last news, demos, posts from Konva

To create an image with Konva, we can instantiate a Konva.Image() object with image property.

For image property you can use:

  1. instance of window.Image or document.createElement('image')
  2. canvas element
  3. video element

For a full list of attributes and methods, check out the Konva.Image documentation.

If you want to draw SVG image into the canvas take a look into How to draw SVG image post.

Konva Image Demoview raw
<!DOCTYPE html>
<html>
<head>
<script src="https://unpkg.com/[email protected]/konva.min.js"></script>
<meta charset="utf-8" />
<title>Konva Image Demo</title>
<style>
body {
margin: 0;
padding: 0;
overflow: hidden;
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div id="container"></div>
<script>
var width = window.innerWidth;
var height = window.innerHeight;

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

var layer = new Konva.Layer();
stage.add(layer);

// main API:
var imageObj = new Image();
imageObj.onload = function() {
var yoda = new Konva.Image({
x: 50,
y: 50,
image: imageObj,
width: 106,
height: 118
});

// add the shape to the layer
layer.add(yoda);
layer.batchDraw();
};
imageObj.src = '/assets/yoda.jpg';

// alternative API:
Konva.Image.fromURL('/assets/darth-vader.jpg', function(darthNode) {
darthNode.setAttrs({
x: 200,
y: 50,
scaleX: 0.5,
scaleY: 0.5
});
layer.add(darthNode);
layer.batchDraw();
});
</script>
</body>
</html>