Vue Konva is a JavaScript library for drawing complex canvas graphics using Vue.
It provides declarative and reactive bindings to the Konva Framework.
All vue-konva
components correspond to Konva
components of the same name with the prefix 'v-'. All the parameters available for Konva
objects can add as config
in the prop for corresponding vue-konva
components.
Core shapes are: v-rect, v-circle, v-ellipse, v-line, v-image, v-text, v-text-path, v-star, v-label, SVG Path, v-regular-polygon. Also you can create custom shape.
To get more info about Konva
you can read Konva Overview.
All examples are editable. You can see a result right on the page.
http://rafaelescala.com/vue-konva-doc/
- Konva Star Demo, by Konva
- Demo with Vuex, by @Ldoppea
- Radar, by @imudin,@Ldoppea
Vue.js version 2.4+ is required.
npm install vue-konva konva --save
import Vue from 'vue';
import VueKonva from 'vue-konva'
Vue.use(VueKonva)
<template>
<v-stage :config="configKonva">
<v-layer>
<v-circle :config="configCircle"></v-circle>
</v-layer>
</v-stage>
</template>
<script>
export default {
data() {
return {
configKonva: {
width: 200,
height: 200
},
configCircle: {
x: 100,
y: 100,
radius: 70,
fill: "red",
stroke: "black",
strokeWidth: 4
}
};
}
};
</script>
<html>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no'>
<meta http-equiv='x-ua-compatible' content='ie=edge'>
</head>
<body>
<div id='app'>
<v-stage ref="stage" :config="configKonva">
<v-layer ref="layer">
<v-circle :config="configCircle"></v-circle>
</v-layer>
</v-stage>
</div>
<!--1. Link Vue Javascript & Konva-->
<script src='https://unpkg.com/vue/dist/vue.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/konva/1.7.6/konva.js'></script>
<!--2. Link VueKonva Javascript (Plugin automatically installed)-->
<script src='./lib/vue-konva.min.js'></script>
<script>
// 3. Create the Vue instance
new Vue({
el: '#app',
data: {
configKonva: {
width: 200,
height: 200
},
configCircle: {
x: 100,
y: 100,
radius: 70,
fill: 'red',
stroke: 'black',
strokeWidth: 4
}
}
})
</script>
</body>
</html>
The change log can be found on the Releases page.
- react-konva - React + Konva
- ng2-konva - Angular + Konva
MIT License
Copyright (c) 2017-present, Rafael Escala