getBoundingClientRect() повернутый объект

#javascript #rotation

#javascript #вращение

Вопрос:

У меня есть прямоугольный объект SVG, который поворачивается с помощью transform=»rotate(45,0,0)». Использование getBoundingClientRect() для объекта дает ширину и высоту ограничивающей рамки, что неверно при повороте.

Я искал и пробовал много вычислений, чтобы получить исходную ширину и высоту без учета поворота.

 var rectangle = object.getBoundingClientRect()
var width = Math.sin(radian) * rectangle.height   Math.cos(radian) * rectangle.width
var height = Math.sin(radian) * rectangle.width   Math.cos(radian) * rectangle.height
  

И многие другие варианты этого, которые я нашел, любая помощь по правильной формуле для использования была бы отличной. Все, что у меня есть, это значения из getBoundingClientRect() и радиан.

Комментарии:

1. Какова ваша предполагаемая точка поворота? Центр прямоугольника или нижний левый угол?

2. центр прямоугольника

3. потратил часы на это, просто используйте var rectangle = object.getBBox(), тогда нет необходимости в каких-либо вычислениях…