我正试着把我要画的文字中间对齐。我用ID2D1 ID2D1RenderTarget::DrawTextLayout方法。问题是,如果我将文本水平对齐设置为DWRITE_TEXT_ALIGNMENT_LEADING (默认值),则很可能会绘制文本,但如果将此值更改为DWRITE_TEXT_ALIGNMENT_CENTER,则文本将被右移。
示例字符串是
Internal Amazing
Scupper以下是取得的成果(第一项是协调一致):


发布于 2015-06-19 18:55:15
我的回答是(是的,猜对了:):
简单地猜一下:你有没有检查过你的布局框的最大宽度是不是太宽了,所以中间的位置就在右边?
由IDWriteTextLayout方法使用的ID2D1RenderTarget::DrawTextLayout定义了布局框的最大宽度,它确定文本的中心位置。它可以由接口的方法 (GetMaxWidth和SetMaxWidth )操作。
https://stackoverflow.com/questions/30916523
复制相似问题