Sto lavorando su alcuni ECMAScript/JavaScript per un file SVG e ho bisogno di ottenere il width
e height
di un elemento text
in modo da poter ridimensionare un rettangolo che lo circonda. In HTML sarei in grado di utilizzare gli attributi offsetWidth
e offsetHeight
sull'elemento, ma sembra che tali proprietà non siano disponibili.SVG ottiene larghezza elemento testo
Ecco un frammento con cui ho bisogno di lavorare. Devo modificare la larghezza del rettangolo ogni volta che cambio il testo, ma non so come ottenere l'effettivo width
(in pixel) dell'elemento text
.
<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>
Qualche idea?
Grazie. Ho anche trovato un'altra funzione che avrebbe potuto aiutare con la larghezza. textElement.getComputedTextLength(). Proverò entrambi stasera e vedrò quale funziona meglio per me. – spudly
Stavo giocando con queste ultime settimane; il metodo getComputedTextLength() ha restituito lo stesso risultato di getBBox(). Larghezza per le cose che ho provato su, così ho appena andato con il rettangolo di selezione, come ho bisogno sia in larghezza che in altezza. Non sono sicuro se ci sono circostanze in cui la lunghezza del testo sarebbe stato diverso dalla larghezza: Penso che forse che metodo è fornito per aiutare con il layout di testo come testo frazionamento su più righe, mentre il rettangolo di selezione è un metodo generico disponibili su tutti gli elementi (?). – NickFitz
Il collegamento a 'getBBox()' è spostato http://wiki.svg.org/index.php/GetBBox – RobM