标签:
参考文献:
作者: 刘涛 http://tech.sina.com.cn/s/2005-06-20/1143640450.shtml
一、基础知识
1、GDI函数,图像操作,画图等等几乎都是在逻辑坐标下进行。极个别有几个不是,比如GetDeviceCaps,是GDI函数,但用的设备坐标。由window完成从逻辑坐标转换为设备坐标的工作。
2、几乎所有的非GDI函数,都使用的设备坐标。另外,MFC接收到的消息,鼠标移动WM_MOUSEMOVE,鼠标点击WM_LBUTTONDOWN,还有窗口重绘WM_SIZE等等,都用的设备坐标。所以点击鼠标得到的点位置,一般需要使用DpToLp函数将其转换为逻辑坐标以后再使用。
3、不管对窗口和视口原点作什么改变,设备原点(0,0)始终是客户区的左上角。
4、设备原点(0,0)与视口原点(ViewPortOrg)不是一个概念,他俩默认是相同的,但使用SetViewPortOrg函数后,就不相同了。
Windows定义了的8种映射方式:
映 射 方 式 | 逻 辑 单 位 | X 轴 增 加 | Y 轴 增 加 | 毫 米 |
MM_TEXT | 像 素 点 | 右 | 下 | 与 设 备 有 关 |
MM_LOMETRIC | 0. 1mm | 右 | 上 | 0.1 |
MM_HIMETRIC | 0. 01mm | 右 | 上 | 0.01 |
MM_LOENGLISH | 0. 254mm | 右 | 上 | 0.254 |
MM_HIENGLISH | 0. 0254mm | 右 | 上 | 0.0254 |
MM_TWIPS | 0.0176mm | 右 | 上 | 0.0176 |
MM_ISOTROPIC | 任 意(x=y) | 可 选 | 可 选 | 可 设 |
MM_ANISOTROPIC | 任 意(x!=y) | 可 选 | 可 选 | 可 设 |
标签:
原文地址:http://www.cnblogs.com/T-C-hong-dou/p/4719133.html