使用Fabric.js在对象旋转后重绘边界框边框

时间:2017-11-24 14:31:43

标签: javascript fabricjs

我使用Fabric.js(版本1.7.19)在画布上绘图。我有一个'旋转'将活动对象旋转90度的按钮。旋转工作正常,但是边框边框的对象不会改变以反映旋转的对象,除了看起来很奇怪意味着我无法正确选择对象。

enter image description here

这是我的旋转对象功能。

rotateItem = (e) => {
  e.preventDefault();
  const currentAngle = this.state.activeItem.item(0).get('angle');
  this.state.activeItem.item(0).setAngle(currentAngle + 90).setCoords();
  fabricCanvas.renderAll();
}

1 个答案:

答案 0 :(得分:0)

我已经弄清楚了。我添加了一个新的fabric.Group到画布然后旋转组内的第一个项目(因此.item(0)),当我真正需要做的是旋转整个组。正在删除.item(0)修复了我的问题。

rotateItem = (e) => {
  e.preventDefault();
  const currentAngle = this.state.activeItem.get('angle');
  this.state.activeItem.setAngle(currentAngle + 90).setCoords();
  fabricCanvas.renderAll();
}