在fabricjs中查找旋转对象的角点坐标

时间:2013-02-14 12:14:03

标签: javascript canvas fabricjs

假设我在fabricjs画布中有一个图像。我可以根据图像的top&基础上轻松计算出角点的坐标。 left值及其大小。

当图像旋转任何角度时,我该怎么办?

示例:

enter image description here

编辑:最好不使用三角法,如果在fabricjs本身或其他地方实现了更简单的方法。

1 个答案:

答案 0 :(得分:18)

是的,当然。

我们将这些坐标存储在对象的oCoords

oCoords.tl.x, oCoords.tl.y // top left corner 
oCoords.tr.x, oCoords.tr.y // top right corner
oCoords.bl.x, oCoords.bl.y // bottom left corner
oCoords.br.x, oCoords.br.y // bottom right corner

当您调用setCoords方法时,这就是设置。

但你可能不想搞砸那些。

从版本~1.0.4开始,我们对所有对象都有getBoundingRect方法,返回{ left: ..., top: ..., width: ..., height: ... }。我们之前已经getBoundingRectWidthgetBoundingRectHeight(现已弃用),但getBoundingRect肯定更有用;它还允许读取左/上值。

您可以在http://fabricjs.com/bounding-rectangle/(尝试旋转对象)

中查看它