Координаты прямоугольника после преобразования - PullRequest
9 голосов
/ 28 июля 2011

В настоящее время я рисую прямоугольник с преобразованием его родительского элемента (g).В результате svg выглядит так:

<svg version="1.1" width="1055" height="381">
   <g transform="rotate(120)">
      <rect x="0" y="0" width="100" height="100" rx="10" ry="0" stroke-width="0" style="stroke:rgb(0,0,0)" id="rect-0"></rect>
      <rect x="100" y="0" width="100" height="100" rx="10" ry="0" stroke-width="0" style="stroke:rgb(0,0,0)" id="rect-1"></rect>
   </g>
</svg> 

Теперь я пытаюсь получить координаты одного из rects динамически, но использование getBBox не возвращает правильный результат.Может кто-нибудь сказать мне, как получить правильные свойства x, y, width и height одного из rects?

1 Ответ

17 голосов
/ 28 июля 2011

Я сам нашел решение;

var matrix = shape.getCTM();

// transform a point using the transformed matrix
var position = svg.createSVGPoint();
position.x = $(shape).attr("x");
position.y = $(shape).attr("y");
position = position.matrixTransform(matrix);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...