这是示例: http://jsbin.com/UHENoKi/11/ 在这里我使用简单的公式来找到两点(向量)之间的角度: 但正如你在JSBin中看到的 - 有些地方出了问题。我哪里犯了错误? 更新 工作示例: http://jsbin.com/UHENoKi/13/edit?js,output
旋转角度是根据0,0的原点计算的,但正方形是围绕其自身的中心点100,100旋转的,所以它们不匹配。如果将正方形移动到0,0,则会感觉正常: var rect = new fabric.Rect({ fill: '#00FFAB', top: 0, left: 0, width: 100, height: 100, selectable: false }); 在toLocal中,不要将坐标翻译为画布坐标,而是翻译为正方形的坐标空间。