27

文字列の幅をピクセル単位で取得する方法を知りたい

4

3 に答える 3

71

ビットマップフォント API < 1.5.6

String使用する a の幅を測定し、 のFontを取得するboundsにはString、描画します。

BitmapFont.getBounds(String str).width

ビットマップフォント API

描画用の正しいオフセットの高さを取得することもできます。幅を高さに置き換えるだけです。

さらに、複数行のテキストgetMultiLineBounds(someString).widthの境界を取得するために使用します。


ビットマップフォント API >= 1.5.6

BitmapFont API は 1.5.7 で変更されたため、現在は境界を取得する別の方法があります。

BitmapFont.TextBounds と getBounds が完了しました。代わりに、文字列を GlyphLayout に渡し、幅と高さのフィールドを使用して境界を取得します。その後、同じ GlyphLayout を BitmapFont に渡すことでテキストを描画できます。これは、以前のようにグリフを 2 回レイアウトする必要がないことを意味します。

出典ウェブアーカイブ

例:

GlyphLayout layout = new GlyphLayout(); //dont do this every frame! Store it as member
layout.setText("meow");
float width = layout.width;// contains the width of the current set text
float height = layout.height; // contains the height of the current set text
于 2013-05-17T10:16:03.410 に答える