Fabric JS,如何调整画布,以便在缩放时添加对象时其坐标是否正确?

时间:2016-12-17 13:27:28

标签: javascript fabricjs

目前我正在使用以下方法在拖动句柄时克隆对象。这工作正常但是当我在方程式中添加缩放或平移时,它们完全偏离原始位置。请参阅原始http://jsfiddle.net/matthew_hardern/y0ebkvbn/14/

的小提琴

似乎无法让变焦工作小提琴,所以不确定我能证明这个问题,但缩放代码是:

this.canvas.on('mouse:wheel', (opt) => {
  var e = opt.e;
  var newZoom = this.canvas.getZoom() + e.deltaY / 300;
  //get center
  var center = this.canvas.getCenter();
  if (newZoom >= this.minZoom && newZoom <= this.maxZoom) {
    //set zoom
    this.zoomLevel = newZoom;
    //set zoom on center
    this.canvas.zoomToPoint({x: center.left, y: center.top}, this.zoomLevel);

    var objects = this.canvas.getObjects();

    for (var i in objects) {
      objects[i].setCoords();
    }

    this.canvas.renderAll();
    this.canvas.calcOffset();
  }

  e.preventDefault();
  return false;
});

目前我正在寻找一种更新画布的方法,这样当克隆放大时,它会在放大或平移时克隆到与原始相同的位置。

非常感谢任何帮助。

0 个答案:

没有答案