假设我在fabricjs画布中有一个图像。我可以根据图像的top
&基础上轻松计算出角点的坐标。 left
值及其大小。
当图像旋转任何角度时,我该怎么办?
示例:
编辑:最好不使用三角法,如果在fabricjs本身或其他地方实现了更简单的方法。
答案 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: ... }
。我们之前已经getBoundingRectWidth
和getBoundingRectHeight
(现已弃用),但getBoundingRect
肯定更有用;它还允许读取左/上值。
您可以在http://fabricjs.com/bounding-rectangle/(尝试旋转对象)
中查看它