1

有没有办法在 KineticJS 中向现有样条线添加点?现在,我必须destroy()在添加点时调用样条并创建一个全新的样条。我希望有更好的方法...

4

3 回答 3

5

您可以在行尾添加。

line.attrs.points.push({x:100, y:20})
layer.draw()

如果要在行的中间添加,则需要使用函数来重建点。即按x点排序

---- 样条曲线(已编辑)--

spline.attrs.points.push({x:10,y:10})
spline.setPoints(spline.attrs.points); 
layer.draw();
于 2013-02-07T14:16:53.607 回答
0

刚刚setPointsLine类中找到了Spline可以使用的方法。这样效果更好,我不必破坏样条线并重新创建它。如果有人有更好的答案,那就太好了。我希望有一个隐藏的add(point)方法......

于 2013-02-07T07:38:03.173 回答
0

你可以做

 spline.setPoints(spline.getPoints().push({x:10,y:10})); 

或创建一个快速函数:

 function addPoint(spline, point){
      spline.setPoints(spline.getPoints().push(point); 
 }
于 2013-02-07T19:21:06.097 回答