Tôi đang làm việc trên một số ECMAScript/JavaScript cho tệp SVG và cần lấy các phần tử width
và height
của một phần tử text
để tôi có thể thay đổi kích thước hình chữ nhật bao quanh nó. Trong HTML, tôi có thể sử dụng các thuộc tính offsetWidth
và offsetHeight
trên phần tử nhưng dường như các thuộc tính đó không khả dụng.SVG nhận chiều rộng phần tử văn bản
Đây là một đoạn mà tôi cần phải làm việc. Tôi cần phải thay đổi chiều rộng của hình chữ nhật bất cứ khi nào tôi thay đổi văn bản nhưng tôi không biết làm thế nào để có được thực tế width
(tính bằng pixel) của phần tử text
.
<rect x="100" y="100" width="100" height="100" />
<text>Some Text</text>
Bất kỳ ý tưởng nào?
Cảm ơn. Tôi cũng tìm thấy một chức năng khác có thể giúp với chiều rộng. textElement.getComputedTextLength(). Tôi sẽ thử cả tối nay và xem cái nào hiệu quả hơn cho tôi. – spudly
Tôi đã chơi với những tuần trước; phương thức getComputedTextLength() trả về kết quả tương tự như getBBox() chiều rộng cho những thứ tôi đã thử nó, vì vậy tôi chỉ cần đi với hộp giới hạn, vì tôi cần cả chiều rộng và chiều cao. Tôi không chắc liệu có bất kỳ trường hợp nào khi độ dài văn bản khác với chiều rộng: Tôi nghĩ có lẽ phương thức đó được cung cấp để trợ giúp bố cục văn bản như tách văn bản trên nhiều dòng, trong khi hộp giới hạn là phương pháp chung trên tất cả các phần tử (?). – NickFitz
Liên kết tới 'getBBox() 'đã chuyển sang http://wiki.svg.org/index.php/GetBBox – RobM