1、设备坐标系都是以像素为单位,水平(x轴)从左到右递增,垂直(y轴)从上到下递增
2、原点(0, 0)坐标
屏幕坐标:以显示器左上角为原点
窗口坐标:以窗口左上角为原点
客户区域坐标:以客户区坐标窗口为原点
3、映射方式用于定义从“窗口”(逻辑坐标)到“视口”(设备坐标)的映射,“窗口”和“视口”这两个词用得并不恰当,因为视口通常包含裁剪区域的意思,况且在windows中又已经用窗口来指程序在屏幕上占住的区域。
4、逻辑坐标转换为设备坐标
xViewport = (xWindow - xWinOrg) * xViewExt/xWinExt + xViewOrg
yViewport = (yWindow - yWinOrg) * yViewExt/yWinExt + yViewOrg
公式中使用了“范围”:xWinExt、yWinExt、xViewExt、yViewExt,每个范围自身没有什么意义,但是视口范围和窗口范围的比是逻辑单位转换为设备单位的换算因子,windows提供2个函数来进行坐标转换,DPtoLP,LPtoDP
5、SetViewportOrg是以2中描述的坐标进行参考