Skip to main content

HTML5 Canvas 变换和调整事件

Konva.Transformer 对象具有特殊的变换事件,可以在您的应用程序中使用:transformstarttransformtransformend

这些事件同样会在附加的节点上触发。

说明:打开控制台,尝试进行变换,查看日志

import Konva from 'konva';

const width = window.innerWidth;
const height = window.innerHeight;

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

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

const rect = new Konva.Rect({
x: 50,
y: 50,
width: 100,
height: 100,
fill: 'yellow',
stroke: 'black',
draggable: true,
});
layer.add(rect);

const tr = new Konva.Transformer({
nodes: [rect],
});
layer.add(tr);

tr.on('transformstart', () => {
console.log('变换开始');
});

tr.on('transform', () => {
console.log('正在变换');
});

tr.on('transformend', () => {
console.log('变换结束');
});

rect.on('transformstart', () => {
console.log('矩形变换开始');
});

rect.on('transform', () => {
console.log('矩形正在变换');
});

rect.on('transformend', () => {
console.log('矩形变换结束');
});