小甲鱼 发表于 2015-9-4 18:56:11

SetMapMode

函数功能:

SetMapMode 函数用于设置指定设备环境的映射模式。

映射模式定义了页面空间单位到设备空间单位的转换,还定义了 x 轴和 y 轴的方向。


API 函数原型:

int SetMapMode(
_In_ HDC hdc,
_In_ int fnMapMode
);

参数解析:


参数含义
hdc指定设备环境句柄
fnMapMode新的映射模式,可以是以下值:

值 含义
MM_ANISOTROPIC1. 逻辑单位被映射为任意缩放刻度
2. 使用 SetWindowExtEx 和 SetViewportExtEx 函数指定相应的单位,方向和缩放比例
MM_HIENGLISH每个逻辑单位映射为 0.001 英寸,x 轴向右,y 轴向上
MM_HIMETRIC每个逻辑单位映射为 0.01 毫米,x 轴向右,y 轴向上
MM_ISOTROPIC1. 逻辑单位被映射为任意缩放刻度
2. 每个 x 轴的逻辑单位与 y 轴相等
3. 使用 SetWindowExtEx 和 SetViewportExtEx 函数指定相应的单位和方向
4. 图形设备接口(GDI)将做出必要的调整以确保 x 轴和 y 轴的逻辑单位保持相同尺寸(当窗口被设置时,视口将调整保持“各向同性”)
MM_LOENGLISH每个逻辑单位映射为 0.01 英寸,x 轴向右,y 轴向上
MM_LOMETRIC每个逻辑单位映射为 0.1 毫米,x 轴向右,y 轴向上
MM_TEXT(默认)每个逻辑单位映射为 1 像素,x 轴向右,y 轴向下
MM_TWIPS每个逻辑单位映射为 1/20 点(1/1440 英寸),x 轴向右,y 轴向上



返回值:

1. 如果函数调用成功,返回值是原先的映射模式;

2. 如果函数调用失败,返回值是 0。


备注:

1. MM_TEXT 映射模式允许应用程序以设备像素为单位来工作,像素的大小根据设备不同而不同。

2. MM_HIENGLISH, MM_HIMETRIC, MM_LOENGLISH, MM_LOMETRIC 和 MM_TWIPS 映射模式应用于物理意义上的绘制是非常有用的。

3. MM_ISOTROPIC 映射模式确保 1:1 的纵横比。

4. MM_ANISOTROPIC 映射模式允许独立调节 x 坐标和 y 坐标。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

WinSDK

wsliqiao 发表于 2020-5-11 01:17:01

MM_LOMETRIC        每个逻辑单位映射为 0.1 毫米,x 轴向右,y 轴向上   我跟小甲鱼写的程序为什么在屏幕上量没有10mm呢
页: [1]
查看完整版本: SetMapMode