通过 pFont 中lfHeight 转换成 CHARFORMAT2 中的字体高度 yHeight

考虑DPI映射比例,LOGFONT::lfHeight单位是像素; CHARFORMAT2::yHeight单位是1/1440英寸或1/567厘米(现实长度。

必须根据DC的映射模式换算到实际DC中的像素值。

HDC hDC = ::GetDC(NULL);

lfHeight = yHeight * (GetDeviceCaps(hDC, LOGPIXELSY)/1440)。

yHeight  = abs(lfHeight ) *(1440/GetDeviceCaps(hDC, LOGPIXELSY));
————————————————
                        

yHeight Specifies the character height, in twips (1/1440 of an inch, or 1/20 of a printer's point). To use this member, set the CFM_SIZE flag in the dwMask member.

10号字对应 CHARFORMAT2.yHeight应该是200 11号是220 缇(Twips):计量单位,等于“磅”的 1/20

原文链接:https://blog.csdn.net/chenzhisi/article/details/39990513

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值