【问题标题】:If a FabricJS object is moved by code, the mouse selection does not appear to work如果 FabricJS 对象被代码移动,鼠标选择似乎不起作用
【发布时间】:2020-12-21 00:58:19
【问题描述】:

如果我通过代码移动对象,当使用鼠标选择对象时,选择似乎是根据其 old 位置选择对象。在下面的示例中,可以通过对象的旧位置而不是当前位置来选择对象。

是我做错了什么,还是 FabricJS 中的错误?

var canvas = window._canvas = new fabric.Canvas('c');

var rect = new fabric.Rect({
    left: 50,
    top: 50,
    width: 50,
    height: 50,
    fill: 'rgba(255,0,0,0.5)',
});

canvas.add(rect);

var rect_json = rect.toJSON();
rect_json.left += 100;
rect.set(rect_json);

See this fiddle 看看它的实际效果。

【问题讨论】:

    标签: fabricjs


    【解决方案1】:

    您需要调用setCoords 以重新计算控制位置。

    请查看此链接When to call setCoords

    var canvas = window._canvas = new fabric.Canvas('c');
    
    var rect = new fabric.Rect({
        left: 50,
        top: 50,
        width: 50,
        height: 50,
        fill: 'rgba(255,0,0,0.5)',
    });
    
    canvas.add(rect);
    
    rect.set({ left: 300 }).setCoords()
    

    【讨论】:

      猜你喜欢
      • 2013-08-07
      • 1970-01-01
      • 2018-09-25
      • 2017-12-22
      • 1970-01-01
      • 2022-12-11
      • 2013-10-15
      • 2019-06-01
      • 2016-12-30
      相关资源
      最近更新 更多