【转载】GetDeviceCaps()函数相关说明

本文介绍了GDI中的GetDeviceCaps函数,用于获取设备的相关信息,如像素和英寸之间的转换。讨论了HORZRES, VERTRES, LOGPIXELSX, LOGPIXELSY等参数的含义及其相互关系,以及它们在不同系统版本和字体设置下的表现。文章通过示例展示了如何利用GetDeviceCaps进行设备尺寸和像素的计算。" 106148702,7455052,AndroidX RecyclerView自定义卡片布局与滑动手势,"['Android开发', 'UI设计', 'RecyclerView', '自定义布局', '动画']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CDC::GetDeviceCaps()物理长度与屏幕像素间的转换

作用:
读取DC的一些打印区域信息,主要是像素和英寸方面的数据.

声明:
GetDeviceCaps(int )

使用例子:
//所有像素数
int pagecx=dc.GetDeviceCaps(HORZRES);
int pagecy=dc.GetDeviceCaps(VERTRES);

//即每英寸点数
short cxInch = dc.GetDeviceCaps(LOGPIXELSX);
short cyInch = dc.GetDeviceCaps(LOGPIXELSY);

// 计算一个设备单位等于多少0.1mm
double scaleX = 254.0 / (double)GetDeviceCaps(dc.m_hAttribDC,LOGPIXELSX);
double scaleY = 254.0 / (double)GetDeviceCaps(dc.m_hAttribDC, LOGPIXELSY);


说明:
主要用到的参数见例子中的:HORZRES,VERTRES,LOGPIXELSX,LOGPIXELSY.总的来说是为了方便控制打印或重画时的控制,如为了定制打印时,一般依据的是物理的长度,而不是像素,而DC一般是用像素的映射模式,所以需要一下转换,上面这个函数就为这种转换设计的.

GDI中有一个函数是GetDeviceCaps(),可以获取一些关于设备的一些属性,如HORZSIZE/HORZRES/LOGPIXELSX等。
    以上三者的关系通常满足:HORZSIZE = 25.4 * HORZRES/LOGPIXELSX
    HORZSIZE为屏幕水平尺寸(定为度量尺

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值