用directwrite在指定的矩形内显示文字

Display text in a specified rectangle with directwrite

我想在指定的矩形内以指定的字号显示直写文字,矩形外的文字要被截掉。

通过搜索,我找到了有关 CreateTextLayout 的信息,但似乎无法用它定义字体大小。

感谢您的回答。

这不是 DirectWrite 负责的事情,除非您使用 IDWriteBitmapRenderTarget。如果您使用 Direct2D 中的 DrawText/DrawTextLayout,您只需使用 D2D1_DRAW_TEXT_OPTIONS_CLIP 选项。如果您使用的是 DirectWrite 位图目标,将目标大小设置为布局大小就足够了,或者将布局大小部分 blit 到目标上下文。

IDWriteTextFormat::SetTrimming()个。应用时(使用 SetTrimming(&DWRITE_TRIMMING{DWRITE_TRIMMING_GRANULARITY_CHARACTER,0,0}, nullptr);),溢出字符 [字形簇?] 和行将被省略。