在fabric js中调整大小后如何更新矩形的宽度和高度?

0 javascript fabricjs

我想在图像中包含矩形并编写以下代码。调整大小后它不起作用,因为活动对象的宽度和高度在调整大小后似乎没有更新。

这是 jsfiddle:https ://jsfiddle.net/yxchng/0hL2khro/191/

canvas.on("object:moving", function(opt) {
    activeObject = canvas.getActiveObject()
  if (activeObject.left < 0) {
    activeObject.left = 0;
  }
  if (activeObject.top < 0) {
    activeObject.top = 0;
  }
  if (activeObject.left + activeObject.width > 1000) {
    activeObject.left = 1000 - activeObject.width;
  }
  if (activeObject.top + activeObject.height > 1000) {
    activeObject.top = 1000 - activeObject.height;
  }
  activeObject.setCoords();
});
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来包含图像中的对象?

Dur*_*rga 5

如果您只考虑缩放(而不是倾斜)

更新的值将是

height = object.height * object.scaleY;
width = object.width * object.scaleX;
Run Code Online (Sandbox Code Playgroud)

对于fabricjs V 2.x

使用getScaledHeightgetScaledWidth分别返回对象边界框计数转换的高度和宽度。