如何使用 KanvaJS 在复杂绘图的开始和结束时触发事件的正确方法是什么?

问题描述

我正在使用 KonvaJS 库在画布上绘制复杂的图形。执行需要几秒钟,我想在用户屏幕上监控进度,但我无法使工作功能如下:

layer.on('draw',() => {
  console.log('Draw finished')
})

使用 KanvaJS 在绘图开始和结束时触发事件的正确方法是什么?

这里是一个没有执行console.log('Draw finished')的测试代码

var stage = new Konva.Stage({
  container: 'canvas-container',// id of HTML div container 
  width: 1000,height: 500,});

function drawGrid(){
    let layerMPE = new Konva.Layer();
    let pxMax = stage.width();
    let pyMax = stage.height();
    let res = 10;
    
    for (let px=0; px < pxMax; px += res){
        for (let py=0; py < pyMax; py += res){
            
            let rect = new Konva.Rect({
                x: px,y: py,width: res,height: res,fill: 'red'
              });
            layerMPE.add(rect);
        }
    }
    
    stage.add(layerMPE);
    layerMPE.draw();
    
    layerMPE.on('draw',() => {
      console.log('Draw finished')
    });
}
    
drawGrid();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)