1

描画する必要があるテキストを中央に揃えようとしています。ID2D1RenderTarget::DrawTextLayout メソッドを使用します。問題は、テキストの水平方向の配置をDWRITE_TEXT_ALIGNMENT_LEADING(デフォルト値) に設定するとテキストが不自然に描画されることですが、この値を変更するDWRITE_TEXT_ALIGNMENT_CENTERとテキストが右にシフトします。

例の文字列は

Internal Amazing 
Scupper

結果は次のとおりです(最初は調整の主導です):

ここに画像の説明を入力 ここに画像の説明を入力

4

1 に答える 1

3

答えとしての私のコメント(ええ、正しいと思います:)):

簡単な推測: レイアウト ボックスの最大幅が広すぎないことを確認したか?

IDWriteTextLayoutused byID2D1RenderTarget::DrawTextLayoutメソッドは、レイアウト ボックスの最大幅を定義します。これにより、テキストが中央に配置される場所が決まります。インターフェイスのメソッド( GetMaxWidthおよびSetMaxWidth )によって操作できます。

于 2015-06-19T18:55:15.527 に答える