Вычисление вертикальной высоты текста SVG - PullRequest
10 голосов
/ 13 октября 2011

У меня есть массив строк. Скажем,

['Jan 11','Feb 11']

И я создаю вертикальный текст с этими строками, вот так

<text x="60" y="154" text-anchor="middle" style="text-anchor: middle; font: normal normal normal 12px/normal Helvetica, Arial; " font="12px Helvetica, Arial" stroke="none" fill="#ffffff" transform="rotate(90 59.75 150)">
<tspan>Jan 11</tspan>
</text>

После визуализации SVG я нахожу, что высота текста составляет 36 пикселей. Теперь есть способ рассчитать высоту текста, который будет отображаться заранее, учитывая размер шрифта?

1 Ответ

15 голосов
/ 13 октября 2011

Вы можете использовать метод getBBox для вычисления размеров узлов SVG.

var textNode = document.getElementsByTagName('text'),
    bbox = textNode.getBBox();

//bbox now have x, y, width and height properties
...