Найти координаты углов поворота объекта в fabricjs

Предположим, у меня есть изображение на холсте fabricjs. Я могу легко вычислить координаты углов на основе изображения top & left значения, и ее размер.

как я могу это сделать, когда изображение поворачивается на любую степень?

пример:

enter image description here

EDIT: предпочтительно без использования тригонометрии, если есть более простой метод, реализованный в самой fabricjs или где-то еще.

1 ответов


Да, конечно.

мы храним эти координаты в объект 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/ (попробуйте вращающиеся объекты)