无法获得修改后的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/