有没有一种方法可以重新计算/更新fabric.js中对象的边界矩形?

时间:2016-11-05 15:53:40

标签: fabricjs

我正在尝试在fabric.js中创建一个可修改的三次贝塞尔曲线。 我现在遇到的问题是,当我通过拖动控制点来更新曲线时,曲线的边界矩形将不会更新。

我这里有一些(丑陋的)代码: http://codepen.io/andershj/pen/PbwqzX?editors=1000

从示例中可以看出,更新曲线后边界矩形不会更新。

是否有更新/重新计算边界矩形的方法?

...
canvas.on({
   'object:modified' : onObjectModified
});

function onObjectModified(e) {
    canvas.setActiveObject(e.target.line.curve);
    // Is there a method to recalculate the bounding rect when object is modified?
}
...

1 个答案:

答案 0 :(得分:1)

这有点棘手,但你可以这样解决:

function onObjectModified(e) {
  e.target.line.curve.pathOffset = null;
  e.target.line.curve._setPositionDimensions({});
  canvas.setActiveObject(e.target.line.curve);
}