如何更改Fabric.js对象的值?

use*_*869 3 javascript fabricjs

我有一个Fabric.js canvas.我还有一个javascript,它有一个按下按钮时被调用的函数.我知道如何获取活动对象,canvas.getActiveObject()但我不知道如何只更改其中的值而无需进行克隆并删除原始对象.我之所以想改变原版是因为当再次按下按钮时,会发生奇怪的事情.有关如何做到这一点的任何线索?

Kie*_*enz 5

有许多值的getter和setter:

object.setWidth(val);
object.setHeight(val);
object.setStrokeWidth(val);
object.setLeft(val);
object.setTop(val);
Run Code Online (Sandbox Code Playgroud)

您还可以使用常规set方法更改值:

object.set('width', value);
object.set({ width: value, height: value});
Run Code Online (Sandbox Code Playgroud)

如果更改影响属性的维度或位置,则必须object.setCoords()在更改属性后调用.否则,对象的"点击区域"是错误的.更改属性后,您必须调用canvas.renderAll()以重新渲染所有对象.

有关更多信息,请查看文档:fabricjs.com/docs/fabric.Object.html