2013-03-04 2 views
1

Объект слоя kinetic.js масштабируется?kinetic.js ширина слоя после масштабирования

После масштабирования всего слоя и попытки получить ширину методом 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

Да, это предполагаемое поведение.

Если вы хотите масштабируются шириной:

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

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

Смежные вопросы