【问题标题】:how to find width of font?如何找到字体的宽度?
【发布时间】:2011-05-29 00:04:44
【问题描述】:

我正在使用directx 来绘制我的字符串,directx 使用GDI 来绘制字符串..
我正在使用DrawText 来绘制我的字符串。我需要一种方法来查找字符串的宽度。
有什么想法吗?

【问题讨论】:

    标签: c++ winapi visual-c++ directx gdi


    【解决方案1】:

    DrawText 可以为您计算。查看 DT_CALCRECT 标志:

    http://msdn.microsoft.com/en-us/library/dd162498%28v=vs.85%29.aspx

    【讨论】:

    • 切割前测量三遍。一次就可以了。
    • DT_CALCRECT 不会绘制文本,它只会告诉您将绘制文本的矩形有多大。在计算文本大小后,您仍然需要调用 DrawText 来实际绘制文本。
    • 我现在正在使用,但是当我存储 px 的数量时,发生了一些奇怪的事情。它总是返回 19 ..
    • 我得到高度我如何得到宽度?
    • @Ramilol,DT_CALCRECT 为您提供宽度(请参阅我链接的 MSDN 页面中的描述)。如果它没有给你宽度,你可能已经传递了一些标志,这些标志迫使 DrawText 将文本放入你给的矩形中(例如,你没有告诉 DrawText 使用没有换行的单行)。
    【解决方案2】:

    你的意思是this DrawText?如果是这样,它有一个DT_CALCRECT 标志,允许您计算要绘制的文本的大小。

    【讨论】:

      猜你喜欢
      • 2016-03-18
      • 2023-01-08
      • 2019-10-12
      • 2022-09-23
      • 1970-01-01
      • 2020-09-17
      • 2022-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多