如何確定 SVG 文字框寬度或在“x”個字元後強制換行?
使用 getBBox() 函式,一次將一個單詞新增到文字物件中。當它變得太寬時,需要新增換行符。
var a = Raphael(500, 500); var b = a.text(100, 100).attr('text-anchor', 'start'); var maxWidth = 100; var content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec semper mauris. Sed gravida augue feugiat nulla ultrices efficitur. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed sit amet lobortis eros, et lobortis diam. Aenean arcu velit, condimentum eu lacus in, dignissim bibendum odio. Mauris ultricies nunc et lorem bibendum dignissim. Ut porttitor purus vitae diam efficitur ultrices. Integer dignissim efficitur lorem, non vehicula diam scelerisque at "; var w = content.split(" "); var tempText = ""; for (var i = 0; i < w.length; i++) { b.attr("text", tempText + " " + words[i]); if (b.getBBox().width > maxWidth) { tempText += "
" + words[i]; } else { tempText += " " + words[i]; } } b.attr("text", tempText.substring(1));
廣告