我的电脑用GetDeviceCaps(HORZSIZE)能返回482,请问是怎么算的?
我的电脑是win7系统,用GetDeviceCaps(HORZSIZE)能返回482是怎么算的?
482mm = 48.2cm,我的显示器是14.1英寸,大概是31cm。差太多了~
GetDeviceCaps(HORZRES)为 1366
GetDeviceCaps(VERTRES)为 768
GetDeviceCaps(LOGPIXELSX) 96
GetDeviceCaps(LOGPIXELSY) 96
GetDeviceCaps(HORZSIZE) 482 始终不知道这HORZSIZE和VERSIZE两个值是怎么来的?
GetDeviceCaps(VERSIZE) 271
下面是书上关于HORZSIZE的介绍:
“然而,在Windows NT中,用老的方法定义HORZSIZE和VERTSIZE值。这种方法与Windows的16位版本一致。HORZRES和VERTRES值仍然表示水平和垂直图素的数值,LOGPIXELSX和LOGPIXELSY仍然与在「控制台」的「显示器」程序中选择的字体有关。在Windows 98中,LOGPIXELSX和LOGPIXELSY的典型值是96和120 dpi,这取决于您选择的是小字体还是大字体。
在Windows NT中的区别是HORZSIZE和VERTSIZE值固定表示标准显示器大小。对于普通的显示卡,取得的HORZSIZE和VERTSIZE值分别是320和240毫米。这些值是相同的,与选择的图素大小无关。因此,这些值与用HORZRES、VERTRES、LOGPIXELSX和LOGPIXELSY索引从GetDeviceCaps中得到的值不同。然而,可以用前面的公式计算在Windows 98下的HORZSIZE和VERTSIZE值。
在Windows的16位版本中(及在Windows NT中),Windows为HORZSIZE和VERTSIZE使用「标准」的显示大小。然而,从Windows 95开始,HORZSIZE和VERTSIZE值是从HORZRES、VERTRES、LOGPIXELSX和LOGPIXELSY值中衍生出来的。这是它的工作方式。”
我的是482和271 也不是写的320与240mm。
先不管win98,我始终没看懂 这是怎么来的?
希望有心得的人指点我一下,祝大家龙年愉快!!!