缩放后的kinetic.js图层宽度

时间:2013-03-04 22:30:00

标签: javascript kineticjs

kinetic.js Layer对象是否缩放其宽度?

在缩放整个图层并尝试通过getWidth()方法获取宽度之后,我得到了我在图层实例化上设置的内容。这是故意的kinetic.js行为吗?

http://jsfiddle.net/qHmZz/

var stage = new Kinetic.Stage({
    container : 'container',
    width: 300,
    height: 300
});

var layer = new Kinetic.Layer({
    width: 300,
    height: 300
});

var circle = new Kinetic.Circle({
        x: 150,
        y: 150,
        radius: 30,
        fill: 'green',
});

layer.add(circle);

stage.add(layer);

$('#message').append( 'width before scale: ' + layer.getWidth() + "</br>");
// 300

layer.setScale(0.9);
layer.draw();

$('#message').append('width after scale: ' + layer.getWidth());
//300

1 个答案:

答案 0 :(得分:1)

是的,这是预期的行为。

如果您想要缩放宽度:

$('#message').append('width after scale: ' + layer.getWidth() * layer.getScale().x);

http://jsfiddle.net/qHmZz/2/