2016-11-05 60 views
1

我想在fabric.js中創建一個可修改的三次貝塞爾曲線。 我現在的問題是,當我通過拖動控制點來更新曲線時,曲線的邊界矩形將不會更新。有沒有一種方法可以重新計算/更新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

這是一個有點棘手,但你可以解決它像這樣:

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

謝謝你,似乎工作! – andershj

相關問題