坐标空间转换
坐标空间 是基于笛卡尔坐标系的平面空间。 此系统提供指定平面上每个点的位置的方法。 它需要两个垂直轴,长度相等。 下图显示了坐标空间。
坐标空间的
系统支持四个坐标空间,如下表所述。
坐标空间 | 描述 |
---|---|
世界 | 可以选择用作图形转换的起始坐标空间。 它允许缩放、转换、旋转、剪切和反射。 世界空间测量2^32单位高2^32单位宽。 |
页 | 用作世界空间后的下一个空间,或用作图形转换的起始空间。 它设置映射模式。 页面空间还测量 2^32 单位高 2^32 单位宽。 |
装置 | 用作页面空间后的下一个空格。 它仅允许翻译,这可确保设备空间的来源映射到物理设备空间中的适当位置。 设备空间测量 2^27 单位高,宽度为 2^27 单位。 |
物理设备 | 图形转换的最终(输出)空间。 它通常指应用程序窗口的工作区;但是,它还可以包括整个桌面、完整的窗口(包括框架、标题栏和菜单栏),或者打印机或绘图纸的页面,具体取决于获取设备上下文句柄的函数。 物理设备尺寸因显示、打印机或绘图器技术设置的尺寸而异。 |
页面空间适用于设备空间,为应用程序提供独立于设备的单位,例如毫米和英寸。 本概述将世界空间和页面空间都称为逻辑空间。
为了描述物理设备上的输出,系统使用转换将矩形区域从一个坐标空间复制到下一个坐标空间,直到输出完全出现在物理设备上。 如果应用程序调用了 setWorldTransform函数,则映射将在应用程序的世界空间中开始;否则,映射在页空间中发生。 当系统将矩形区域中的每个点从一个空间复制到另一个空间中时,它会应用一种称为转换的算法。 转换 更改从一个坐标空间复制到另一个坐标空间的对象的大小、方向和形状。 尽管转换对整个对象产生影响,但它应用于对象中的每个点或每一行。
下图显示了使用 SetWorldTransform 函数执行的典型转换。
显示矩形在世界空间、页面空间、设备空间和设备插图