加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows – 如何找到我的CreateFont调用实际使用的字体?

发布时间:2020-12-13 20:16:57 所属栏目:Windows 来源:网络整理
导读:在 Windows中,如果未请求请求的字体,则 CreateFontIndirect() 呼叫可以静音替换兼容的字体. GetObject() 电话没有反映这种替代;它返回相同的LOGFONT传入.我如何找到实际创建的字体?或者,如何强制Windows只返回确切的字体请求? In Windows,the CreateFontIn
在 Windows中,如果未请求请求的字体,则 CreateFontIndirect()呼叫可以静音替换兼容的字体. GetObject()电话没有反映这种替代;它返回相同的LOGFONT传入.我如何找到实际创建的字体?或者,如何强制Windows只返回确切的字体请求?

In Windows,the CreateFontIndirect() call can silently substitute compatible fonts if the requested font is not requested. The GetObject() call does not reflect this substitution; it returns the same LOGFONT passed in.

不是CreateFontIndirect正在进行替换.当字体被选择到DC时,会发生替换. CreateFontIndirect只是给你一个LOGFONT的内部副本的句柄.这就是为什么GetObject给你相同的LOGFONT.

How can I find what font was actually created?

如果您将HFONT选择到目标DC中,您可以向DC询问实际选择的字体与LOGFONT最匹配的信息.

>面部名称可用于GetTextFace.
>您可以使用GetTextMetrics获取指标.
>如果所选字体为TrueType或OpenType,则可以使用GetOutlineTextMetrics获取其他指标.

这实际上告诉你实际创建了什么字体.

在旁边:

在打印预览时,您可以从LOGFONT开始,将其选择到打印机DC(或IC)中,获取实际字体的详细信息(打印机通常替换字体),然后创建一个更具代表性的新LOGFONT实际字体选择到屏幕DC,和 – 适当的大小转换 – 做一个很好的匹配用户将实际获得.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读