Windows – 如何找到我的CreateFont调用实际使用的字体?
在
Windows中,如果未请求请求的字体,则
CreateFontIndirect() 呼叫可以静音替换兼容的字体.
GetObject() 电话没有反映这种替代;它返回相同的LOGFONT传入.我如何找到实际创建的字体?或者,如何强制Windows只返回确切的字体请求?
不是CreateFontIndirect正在进行替换.当字体被选择到DC时,会发生替换. CreateFontIndirect只是给你一个LOGFONT的内部副本的句柄.这就是为什么GetObject给你相同的LOGFONT.
如果您将HFONT选择到目标DC中,您可以向DC询问实际选择的字体与LOGFONT最匹配的信息. >面部名称可用于GetTextFace. 这实际上告诉你实际创建了什么字体. 在旁边: 在打印预览时,您可以从LOGFONT开始,将其选择到打印机DC(或IC)中,获取实际字体的详细信息(打印机通常替换字体),然后创建一个更具代表性的新LOGFONT实际字体选择到屏幕DC,和 – 适当的大小转换 – 做一个很好的匹配用户将实际获得. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 注册表 – 在应用程序崩溃时禁用调试提示
- windows-xp – 嵌入式Windows XP
- MDT部署:为什么禁用更改Windows更新设置等
- 为什么Windows身份验证/模拟在使用iis 7.5 / windows 7 /的
- Windows – 如何在Tomcat本地运行Solr 4?
- windows-server-2008-r2 – 来自perfmon Windows Server 20
- 简单windows服务
- 在Windows上的PHP proc_open
- Windows API类似于pthread_cancel?
- windows-server-2012 – 由于磁盘空间不足而禁用Hyper-V暂停