您的位置:首页 > 运维架构

【win32】MM_ISOTROPIC映射模式注意几点

2011-06-20 22:50 120 查看
1.MM_ISOTROPIC是保证了视口与窗口之间x,y轴同比例.
例如:xViewExt是视口水平范围,yViewExt是视口垂直范围,
xWinExt是窗口水平范围,yWinExt是窗口垂直范围,那么在MM_ISOTROPIC模式到:
xWinExt/xViewExt与yWinExt/yViewExt比值总是一样的,

2.当调用了SetWindowExt(),SetViewportExt()方法时,逻辑视图的坐标轴方向、单位,比例就确定了。
MM_ISOTROPIC在默认情况下原点位于左上角,并且x轴向右正,向左为负,y轴向上负,向下为正.

3.在调用了SetWindowExt(),SetViewportExt()方法之后,实际逻辑视图的坐标轴的方向是这样的:
x轴方向是这两个方法中:
当第一个参数同号时,就为默认的方向,当第一个参数异号时,就为默认的反方向。
y轴方向是这一两个方法中:
当第二个参数同号时,就为默认方向,当第二个参数异号时,就为默认的反方向。

4.在调用了SetViewportOrg(),SetWindowsOrg()方法后,逻辑视图的原点就确定下来。
作为SetViewportOrg()方法,它以MM_TEXT确定的坐标系为基准,将视口原点向右(当x为正时),向左(当x为负时);向上(当y为负),向下(当y为正)。(这个参数x和y的单位还是以像素为单位。)
作为SetWindowOrg()方法,它以SetWindowExt(),SetViewportExt()方法确定的坐标轴方向为基准,当x为正时,往负方向移动原点,为x为负时,往正向移动原点,当y为负时,往正方向移动原点,当y为正时,往负方向移动原点。(这个参数x和y是以视口/窗口为单位。)
那么,实际逻辑视图原点的位置是就是这两个方法效果的累加

5.一旦发生,x,y轴不等比例缩放时,作为比值(窗口范围/视口范围),实际的比值取x,y轴比例较大的那一个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: