有没有办法获得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
答案 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的元素)