使用ID2D1RenderTarget :: DrawText时如何获取文本范围

Joh*_*aby 3 directx direct2d directwrite windows-8

使用Direct2D,我可以使用ID2D1RenderTarget :: DrawText来绘制文本,但是如何在绘制之前获取文本范围?请注意,我希望在Windows 8 RT下执行此操作.

谢谢

Joh*_*aby 5

感谢您的反馈.我找到了解决方案.我需要为文本块创建一个IDWriteTextLayout,然后调用它的GetMetrics方法,该方法将返回文本的范围.

再次感谢您的帮助.

  • 是的,CreateTextLayout + GetMetrics生成DWRITE_TEXT_METRICS :: width和height字段.请注意,如果您创建IDWriteTextLayout,则应该将创建的IDWriteTextLayout传递给DrawTextLayout,而不是再次调用DrawText(这将不必要地再次布置文本). (2认同)