2

问题是使用 node.cache() 时,节点首先被缓存然后缩放。如何实现先缩放然后缓存?提前谢谢。

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

var layer = new Konva.Layer();
var group1 = new Konva.Group();
var group2 = new Konva.Group();

var text1 = new Konva.Text({
  text:'Test',
  scale: {x:10,y:10},
  x:10,
  y:10
});

var text2 = new Konva.Text({
  text:'Test',
  scale: {x:10,y:10},
  x:50,
  y:50
});

text1.cache();

layer.add(text1);
layer.add(text2)
stage.add(layer); 
4

1 回答 1

0

如果节点将在缓存之前进行转换,则很难进行转换。作为解决方法,您可以将转换后的节点添加到组,然后缓存该组。

var text1 = new Konva.Text({
  text:'Test',
  scale: {x:10,y:10},
  x:10,
  y:10
});
group1.add(text1);
group1.cache(); 

http://jsbin.com/fotano/edit?html,js,输出

于 2015-12-29T00:03:55.780 回答