假设我在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/处看到它(尝试旋转对象)