在Fabric.js中用鼠标旋转东西的正确方法

Gil*_*tes 10 javascript graphics user-interface canvas fabricjs

这是一个例子:http:
//jsbin.com/UHENoKi/11/

在这里,我使用简单的公式来找到两个点(向量)之间的角度:
在此输入图像描述

但正如你在JSBin上看到的那样 - 有些东西被打破了.我在哪里弄错了?

UPDATE

工作示例:http:
//jsbin.com/UHENoKi/13/edit?js,output

Dou*_*las 5

旋转的角度是基于0,0原点计算的,但是正方形围绕其自身的中心旋转100,100,因此它们不匹配.如果将方块移动到0,0,感觉还可以:

var rect = new fabric.Rect({
  fill: '#00FFAB', 
  top: 0, 
  left: 0, 
  width: 100, 
  height: 100, 
  selectable: false
});
Run Code Online (Sandbox Code Playgroud)

而不是转换为toLocal中的画布坐标,而是转换为正方形的坐标空间.