【问题标题】:How to make width and height of a rectangle updates after resize in fabric js?如何在fabric js中调整大小后更新矩形的宽度和高度?
【发布时间】:2018-08-25 15:50:59
【问题描述】:

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

这是 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();
});

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

【问题讨论】:

    标签: javascript fabricjs


    【解决方案1】:

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

    更新的值将是

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

    对于 fabricjs V 2.x

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

    【讨论】:

    • 我找到了使用 getScaledWidth() 和 getScaledHeight() 的解决方案
    • @user136266 补充说,在 1.x 中该方法不存在,我也没有意识到这一点。谢谢;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 2019-11-18
    • 2016-03-19
    相关资源
    最近更新 更多