13

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

当图像旋转任意角度时,我该怎么做?

例子:

在此处输入图像描述

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

4

1 回答 1

22

是的当然。

我们将这些坐标存储在对象的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看到它的实际效果(尝试旋转对象)

更多:http :
//fabricjs.com/docs/fabric.Group.html#oCoords http://fabricjs.com/docs/fabric.Group.html#calcCoords

于 2013-02-15T02:17:29.477 回答