理解SetWindowOrgEx,SetViewportOrgEx,SetWindowExtEx,SetViewportExtEx,SetMapMode

来源:百度文库 编辑:神马文学网 时间:2024/04/29 23:58:18
SetWindowOrgEx
这个window是看不见的,可以假想有这么一个window,提供GDI画图函数以逻辑坐标来画图,这个坐标系也叫page space坐标系,有自定义原点与单位长度(逻辑单位,如0.1mm,从而可以与设备无关)
SetWindowOrgEx
这个window是看不见的,可以假想有这么一个window,提供GDI画图函数以逻辑坐标来画图,这个坐标系也叫page space坐标系,有自定义原点与单位长度(逻辑单位,如0.1mm,从而可以与设备无关)

SetViewportOrgEx
物理设备坐标总是以左上角为原点,以像素为单位,X向右,Y向下
viewport与之的区别是原点可以由SetViewportOrgEx改变,以及大小可以由SetViewportExtEx改变,这个坐标系也叫device space坐标系,viewport也不是看不到的,真的能看到的只有物理坐标系

SetWindowExtEx
设定page space的大小

SetViewportExtEx
设定device space的大小

四个函数完成其功能时均参考自己所在的坐标系,并且改变自己所在的坐标系

page space坐标系映射到device space坐标系
原点重合,大小关系为两个坐标系的大小关系,如(xViewport-xViewporgOrg)/(xWindow-xWindowOrg)=xViewportExt/xWindowExt,一般用SetMapMode改变映射的大小关系以及page space的坐标方向。

device space坐标系映射到物理设备坐标系
都以像素为单位,所以只需考虑位移
SetViewportOrgEx
物理设备坐标总是以左上角为原点,以像素为单位,X向右,Y向下
viewport与之的区别是原点可以由SetViewportOrgEx改变,以及大小可以由SetViewportExtEx改变,这个坐标系也叫device space坐标系,viewport也不是看不到的,真的能看到的只有物理坐标系

SetWindowExtEx
设定page space的大小

SetViewportExtEx
设定device space的大小

四个函数完成其功能时均参考自己所在的坐标系,并且改变自己所在的坐标系

page space坐标系映射到device space坐标系
原点重合,大小关系为两个坐标系的大小关系,如(xViewport-xViewporgOrg)/(xWindow-xWindowOrg)=xViewportExt/xWindowExt,一般用SetMapMode改变映射的大小关系以及page space的坐标方向。

device space坐标系映射到物理设备坐标系
都以像素为单位,所以只需考虑位移