SetWorldTransform函数设置指定设备上下文的世界空间和页面空间之间的二维线性转换。此转换可用于缩放,旋转,剪切或翻译图形输出。
BOOL SetWorldTransform(
HDC 【HDC】, | //设备上下文的句柄 |
CONST XFORM *【lpXform】 | //转换数据的地址 |
); |
参数
【HDC】
标识设备上下文。
【lpXform】
指向包含转换数据的XFORM结构。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
备注
对于世界空间中的任何坐标(x,y),页面空间【】(x',y')中的变换坐标可以由以下算法确定:
x' = x * eM11 + y * eM21 + eDx,
y' = x * eM12 + y * eM22 + eDy,
其中变换矩阵由以下表示:
| EM11 EM12 0 |
| EM21 EM22 0 |
The mapping mode (defined by the current window and viewport extents origins) serves to define units and scales.
映射模式(由当前窗口和视口范围定义)用于定义单位和比例尺。
世界变革通常用于以独立于设备的方式缩放或旋转逻辑图像。
默认的世界变换是零偏移的单位矩阵。
SetWorldTransform功能将失败,除非给定设备上下文的图形模式通过以前调用SetGraphicsMode函数设置为GM_ADVANCED。同样地,除非通过调用SetWorldTransform或ModifyWorldTransform首先将世界变换重置为默认身份转换,否则将无法将设备上下文的图形模式重置为默认的GM_COMPATIBLE模式。
也可以看看
GetWorldTransform, ModifyWorldTransform, SetGraphicsMode, SetMapMode, SetViewportExtEx, SetViewportOrgEx, SetWindowExtEx, SetWindowOrgEx, XFORM