请问CreateFont函数第一个参数nHeight是不是以像素为单位的?若不是它与像素之间有什么样的对应关系?

解决方案 »

  1.   

    nHeight 
    Specifies the desired height, in logical units, of the font. See the lfHeight member of the LOGFONT structure.
      

  2.   

    这么计算:int nHeight = -MulDiv(9, pDC->GetDeviceCaps(LOGPIXELSY), 72);
    其中,nHeight就是填到CreateFont中的字体高度,9为你选择的字体的字号(比如宋体九号,9代表九号),后面的是写死的,到哪里都这么写。
    个人感觉,字体中一个字号对应72分之一英寸,9号字就是9/72英寸高,但是一英寸对应的像素在不同的显示设备上是不同的,所以用这个公式去计算。