3

有没有办法获取 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
4

2 回答 2

4

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

https://gist.github.com/4075955

但是,该代码目前仅支持直线,不支持曲线或圆弧。该代码已发布到公共领域,因此我鼓励任何人对其进行修改。

例子:

var dimensions=getPathDimensions(path);
var width=dimensions.width;
于 2012-11-15T01:02:45.093 回答
0

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

好吧,除了长度:

Kinetic.Path.calcLength = 函数(x,y,cmd,点)

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

于 2012-11-13T18:44:15.363 回答