用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);
),溢出字符 [字形簇?] 和行将被省略。
我想在指定的矩形内以指定的字号显示直写文字,矩形外的文字要被截掉。
通过搜索,我找到了有关 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);
),溢出字符 [字形簇?] 和行将被省略。