获得Kinetic.Path的大小

时间:2012-11-12 01:49:16

标签: kineticjs

有没有办法获得Kinetic.Path对象的宽度和高度?它总是返回零。

var path = new Kinetic.Path({
    x: 40,
    y: 40,
    data: "m 148.57143,-1.9235271 200,82.8571401 L 257.14286,300.93361 2.8571414,263.79075 z",
    stroke: "green",
    draggable: true
});

layer.add(path);

stage.draw();

console.log(path.getWidth()); // returns zero

2 个答案:

答案 0 :(得分:4)

KineticJS不计算路径的边界框。你必须使用路径的数据自己计算它们。为此,我编写了代码来处理这些路径。

https://gist.github.com/4075955

但是,代码目前仅支持线条,而不支持曲线或弧线。代码发布到公共领域,所以我鼓励任何人修改它。

示例:

var dimensions=getPathDimensions(path);
var width=dimensions.width;

答案 1 :(得分:0)

很抱歉,Path形状中没有内置任何指标功能(即获取高度,宽度等)。

嗯,除了长度:

Kinetic.Path.calcLength = function(x,y,cmd,points)

(仅用于路径中的各个元素,即解析的Path.dataarray的元素)

相关问题