Я повернул элемент пути SVG, установив атрибут transform="rotate(45)"
Теперь, как я могу получить повернутые точки пути SVG?
Когда я проверил атрибут «d», он по-прежнему показывает исходные точки [без поворота].
Я повернул элемент пути SVG, установив атрибут transform="rotate(45)"
Теперь, как я могу получить повернутые точки пути SVG?
Когда я проверил атрибут «d», он по-прежнему показывает исходные точки [без поворота].
если вы получаете точку через path.getPointAtLength(), вам нужно применить преобразование пути к результату. Вы получаете полное преобразование:
var t = path.getTransformToElement( path.ownerSVGElement );
var abspoint = path.getPointAtLength( 0.5 ).matrixTransform( t );
Я не тестировал это, но может быть так...
Это хорошо для некоторых точек пути. Если весь список данных пути должен быть преобразован в абсолютный, то raphael может быть самым быстрым решением...
В самом svg нет такой функциональности. Нет и в jQuery, насколько я знаю.
Библиотека javascript Raphaël содержит служебный метод для того, что вам нужно, см. Raphael.transformPath.