簡介:
Knova.js 是一個基於HTML5 Canvas 的JavaScript 框架,可以實現高性能的動畫,轉換,節點嵌套,分層,過濾,緩存,時間處理等等,並且具有良好的響應式布局,可以同時支持電腦桌面和移動應用。
在使用Knova時,可以在Knova.Stage上開始繪製,為它們添加事件監聽器,移動它們,縮放它們,即使您的應用程序使用了數千種形狀,並將它們從其他形狀中獨立出來以支持高性能的動畫。
該庫最初是作為ericdrowell / KineticJS的GitHub分支開始的。
實現方式
所有工作都從Konva.Stage開始,每個stage可以包含多個圖層,而每個圖層則包含兩個canvas渲染器,其中一個是我們所看見的,另一個隱藏,用來提高實現事件監聽的效率。
使用示例
<script src="https://cdn.rawgit.com/konvajs/konva/1.7.3/konva.min.js"></script> <div id="container"></div> <script> //首先創建一個stage var stage = new Konva.Stage({ container: 'container', width: window.innerWidth, height: window.innerHeight }); // 創建圖層並添加到stage中 var layer = new Konva.Layer(); stage.add(layer); // 創建圖形 var box = new Konva.Rect({ x: 50, y: 50, width: 100, height: 50, fill: '#00D2FF', stroke: 'black', strokeWidth: 4, draggable: true }); // 將圖像添加到圖層 layer.add(box); // 繪圖 layer.draw(); // 添加游標的效果 box.on('mouseover', function() { document.body.style.cursor = 'pointer'; }); box.on('mouseout', function() { document.body.style.cursor = 'default'; }); </script>
效果演示
載入和安裝
Konva支持UMD載入。因此,您可以使用所有可能的變體將框架載入到您的項目中:
1. 通過<script>標籤來載入Konva:
<script src ="https://cdn.rawgit.com/konvajs/konva/1.7.3/konva.min.js"> </ script >
2. 通過AMD載入:
define(['./konva'], function(Konva) { // your code});
3. 通過npm:
npm install konva --save
導入代碼
// old way var Konva = require('konva'); // modern way import Konva from 'konva'; // typescript import * as Konva from 'konva';
4. 如果您使用的是webpack或browserfy,則可以使用此方法僅載入所需的Konva零件:
import Konva from 'konva/src/Core'; // now you have Konva object with Stage, Layer, FastLayer, Group, Shape and some additional utils function // so there are no shapes (rect, circle, etc), no filters, no d&d support. // but you can simply add anything you need: import 'konva/src/shapes/rect'; //now Konva.Rect is available to use
了解更多歡迎進入官方演示站: