FabricJS更新边界框

问题描述 投票:0回答:1

平移后,我无法获取画布的边框进行更新。我尝试过requestRenderAll并重置每个对象的坐标,但是边界框保持在同一位置。

我应该调用其他功能吗?

我尝试过的事情:

    if (!pausePanning && e.self.x && e.self.y && e.e.type) {
      currentX = e.self.x;
      currentY = e.self.y;
      xChange = currentX - panX;
      yChange = currentY - panY;

      if( (Math.abs(xChange) <= 100) &&
          (Math.abs(yChange) <= 100) ) {
        var delta = new fabric.Point(xChange, yChange);
        canvas.relativePan(delta);
      }

      panX = e.self.x;
      panY = e.self.y;

      // attempting to redraw bounding
      canvas.getObjects().forEach(function(o) {
        o.setCoords();
      });


      // this also doesn't work
      canvas.requestRenderAll();
    }
  }
fabricjs
1个回答
0
投票
如果您的画布被命名为canvas变量的示例:

var sel = new fabric.ActiveSelection(selection, { canvas: canvas }); canvas.setActiveObject(sel).requestRenderAll();

以及显示更新后的选择的缩放/平移的jsfiddle。>>

© www.soinside.com 2019 - 2024. All rights reserved.