2

Dojo の gfx を使用してテキストをレンダリングするときに、テキストを折り返す必要がある場合に備えて、テキストがどのくらいのスペースを占めるかを知る方法はありますか? 制限された幅の領域にテキストを収める必要がある場合、どうすれば任意の長さのテキストを印刷できますか?

更新:申し訳ありませんが、サーバー側でラッピングを行う必要があることを言及する必要がありました。私のアプリは、すべての要素のサイズと位置を把握し、最終的にそれらを描画する gfx スクリプトをレンダリングする必要があります。gfx で使用するフォントとフォント サイズはわかっています。文字列をラップすると、複数の createText 呼び出しがレンダリングされます。問題は、文字列をどのように分割するかです。(フォントが固定幅の場合、これは簡単なはずです)

ありがとう!

4

1 に答える 1

3

dojox.html.metricsモジュール、特にgetTextBox(text, style)関数を使用することをお勧めします。で使用するのと同じスタイルを使用するだけですdojox.gfx: フォント、サイズ、装飾。

この関数を見ると、これが の単純なヘルパーであることがわかりますdojo.marginBox()。したがって、別のファイルを取り込みたくない場合は、コード内で同じことを行い、marginBox()直接呼び出すことができます。これは Dojo Base にあり、常に利用可能。

于 2009-05-24T05:27:37.497 に答える