无法获得修改后的fabic.js对象的旋转角度以报复原始角度

Having trouble getting the modified rotational angle of fabic.js object retaliative to is original angle

本文关键字:旋转 原始 对象 js 修改 fabic      更新时间:2023-09-26

无法获得修改后的fabic.js对象的旋转角度以报复原始角度/位置。

我使用.getAngle(),如果对象旋转超过360度或前后旋转,我很难将其转换回相对于原始位置/旋转的角度(以度为单位)。

    var canvas = new fabric.Canvas('canvas');
     //global canvas setting	
    canvas.selection = false;
    canvas.setDimensions({
      width: 500,
      height: 310
    });
     //Canvas Objets	
     // create a rectangle with angle=45
    var rect = new fabric.Rect({
      left: 100,
      top: 100,
      fill: 'red',
      width: 40,
      height: 40,
      lockUniScaling: true,
      centeredRotation: true
    });
    canvas.add(rect);
     //Object modification event				
    canvas.on('object:modified', function(e) {
      var activeObject = e.target;
      document.getElementById('result').value = activeObject.getAngle();
    });

我设置了一个显示默认输出的小提琴http://jsfiddle.net/1db5g7us/

我假设需要对结果做一些计算,但不知道是什么。

刚刚解决了这个问题,我所需要做的就是使用模算子来获得相对于其原始位置的旋转,而不是总旋转角度。

            activeObject = activeObject%360;

更新小提琴:http://jsfiddle.net/1db5g7us/