Fabricjs 无法正确显示控件

Fabricjs does not display the controls correctly

如果您不是手动更改对象的 size/position,而是在代码中更改,控件可能无法正确显示。例如,我创建了一个正方形并移动了它。如果将鼠标移动到它的旧位置,光标将改变,如果你开始移动,对象将移动但相对于它的新位置。如果你点击它的新位置,什么也不会发生。如果您在 canvas.

上单击不同的位置,则此问题已得到纠正

这个函数帮助了我:

function Moved() {
    canvas.discardActiveObject();
    canvas.setActiveObject(object)
    canvas.discardActiveObject();
    canvas.renderAll();
}

应在 canvas 和对象初始化结束时以及每次位置更改后调用。 最好尽可能使用 renderAll() 而不是 requestRenderAll()。

在以编程方式更改位置等值后,您需要对对象调用 .setCoords()

查看以下内容:

http://fabricjs.com/fabric-gotchas https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords