1

我正在尝试将我必须绘制的文本居中对齐。我使用ID2D1RenderTarget::DrawTextLayout 方法。问题是,如果我将文本水平对齐设置为DWRITE_TEXT_ALIGNMENT_LEADING(默认值),则文本会被适当地绘制,但如果我将此值更改DWRITE_TEXT_ALIGNMENT_CENTER为文本会右移。

示例字符串是

Internal Amazing 
Scupper

以下是结果(第一个是对齐领先):

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

3

我的评论作为答案(是的,猜对了:)):

只是一个快速的猜测:你是否检查过你的布局框的最大宽度不是太宽,所以中心会在右边结束?

IDWriteTextLayoutused byID2D1RenderTarget::DrawTextLayout方法定义了布局框的最大宽度,它决定了文本的居中位置。它可以通过接口的方法GetMaxWidthSetMaxWidth)进行操作。

于 2015-06-19T18:55:15.527 回答