假设我在fabricjs画布中有一个图像。我可以根据图像的top
& left
值及其大小轻松计算角点的坐标。在fabricjs中查找旋转物体角点的坐标
如何在图像旋转到任何程度时这样做?
实施例:
编辑:优选地在不使用三角学的,如果在fabricjs本身或其它地方实现的简单的方法。
假设我在fabricjs画布中有一个图像。我可以根据图像的top
& left
值及其大小轻松计算角点的坐标。在fabricjs中查找旋转物体角点的坐标
如何在图像旋转到任何程度时这样做?
实施例:
编辑:优选地在不使用三角学的,如果在fabricjs本身或其它地方实现的简单的方法。
是的,当然。
我们存储在这些坐标对象的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: ... }
。我们已经在getBoundingRectWidth
和getBoundingRectHeight
之前(现已弃用),但getBoundingRect
肯定更有用;它也允许读取左/顶值。
您可以在http://fabricjs.com/bounding-rectangle/看到它在行动(尝试旋转对象)
计算起点,然后用一个矩阵来计算,他们是基于旋转> http://en.wikipedia.org/ wiki/Rotation_(数学) – BenM 2013-02-14 12:17:03
谢谢 - 请参阅我的编辑。 – seldary 2013-02-14 12:20:57
你将不得不使用trigonomics。没有内置的方法。 – BenM 2013-02-14 12:29:29