在使用 dojo 的 gfx 渲染文本时,有没有办法告诉文本将占用多少空间,以防我需要包装它以使其适合给定的宽度?如果您必须使它们适合宽度受限的区域,您将如何管理打印任意长度的文本?
更新:对不起,我应该提到我需要在服务器端进行包装。我的应用程序必须弄清楚所有元素的大小和位置,然后渲染最终绘制它们的 gfx 脚本。我知道我将与 gfx 一起使用的字体和字体大小。包装字符串会导致呈现多个 createText 调用。问题是,如何拆分字符串?(如果字体是固定宽度的,这应该是微不足道的)
谢谢!
在使用 dojo 的 gfx 渲染文本时,有没有办法告诉文本将占用多少空间,以防我需要包装它以使其适合给定的宽度?如果您必须使它们适合宽度受限的区域,您将如何管理打印任意长度的文本?
更新:对不起,我应该提到我需要在服务器端进行包装。我的应用程序必须弄清楚所有元素的大小和位置,然后渲染最终绘制它们的 gfx 脚本。我知道我将与 gfx 一起使用的字体和字体大小。包装字符串会导致呈现多个 createText 调用。问题是,如何拆分字符串?(如果字体是固定宽度的,这应该是微不足道的)
谢谢!
我建议使用dojox.html.metrics
模块,特别是getTextBox(text, style)
功能。只需使用您将使用的相同样式dojox.gfx
:字体、大小、装饰。
如果你看这个函数,你会发现它是一个简单的帮助器dojo.marginBox()
,所以如果你不想拉入另一个文件,你可以在你的代码中做同样的事情并marginBox()
直接调用,它在 Dojo Base 中并且总是可用的。