如何在不同的分辨率上显示相同的“比例”文本大小?

时间:2011-05-24 15:41:03

标签: text drawing directx rendering

我使用ID3DXFont :: DrawText在屏幕上绘制一些文本。无论屏幕分辨率如何,此文本都应显示相同。

例如,如果屏幕分辨率较低,则文本换行以及高级文本不会换行。我该如何避免这种情况?我希望文本大小连接到屏幕分辨率,所以如果分辨率较低,我希望文本相对较小,以便不发生包装。有什么办法吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

以下是一个合理的解决方案。它没有任何直接X工作所需的代码或程序,但在DirectX之外做了类似的事情我想分享逻辑

  1. 使用您想要的任何默认屏幕分辨率,将字体设置为所需的大小。
  2. 找出您选择的字体大小占用屏幕高度的百分比。
  3. 然后在再次渲染时存储该值,在程序的最终版本中,根据屏幕大小和百分比计算字体大小
  4. 我正在使用的功能包括GetTextHeight和字体大小属性,以允许您设置高度(这反过来又适当地设置字体大小)。因此,如果能在DirectX中找到与此相似的内容,那么这可能是您的选择。