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

时间:2018-03-16 14:27:25

标签: 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();
});

是否有更好的方法在图像中包含对象?

1 个答案:

答案 0 :(得分:2)

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

更新的值将是

height = object.height * object.scaleY;
width = object.width * object.scaleX;

对于fabricjs V 2.x

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