#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(), тогда нет необходимости в каких-либо вычислениях…