setWorldTransform 函数 (wingdi.h)

SetWorldTransform 函数为指定的设备上下文设置世界空间和页面空间之间的二维线性转换。 此转换可用于缩放、旋转、扭曲或转换图形输出。

语法

BOOL SetWorldTransform(
  [in] HDC         hdc,
  [in] const XFORM *lpxf
);

参数

[in] hdc

设备上下文的句柄。

[in] lpxf

指向包含转换数据的 XFORM 结构的指针。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

下面是转换矩阵 (请注意,元素表示法中的数字是从 1 开始的列号,后跟从 1 开始的行号,而不是反向) 。

| eM11 eM21 eDx |
| eM12 eM22 eDy |
| 0    0    1   |

因此,对于世界空间中 (x、y) 的任何坐标,页面空间 (x'、y') 的转换坐标都可以按如下所示确定。

| x' |   | eM11 eM21 eDx |   | x |   
| y' | = | eM12 eM22 eDy | . | y |
| 1  |   | 0    0    1   |   | 1 |

x' = x * eM11 + y * eM21 + eDx
y' = x * eM12 + y * eM22 + eDy

此函数使用逻辑单元。

世界转换通常用于以与设备无关的方式缩放或旋转逻辑图像。

默认的世界转换是偏移量为零的标识矩阵。

除非先前通过调用 SetGraphicsMode 函数将给定设备上下文的图形模式设置为 GM_ADVANCED,否则 SetWorldTransform 函数将失败。 同样,无法将设备上下文的图形模式重置为默认GM_COMPATIBLE模式,除非通过调用 SetWorldTransformModifyWorldTransform 先将世界转换重置为默认标识转换。

示例

有关示例,请参阅 使用坐标空间和转换

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wingdi.h (包括 Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

另请参阅

坐标空间和转换函数

坐标空间和转换概述

GetWorldTransform

ModifyWorldTransform

SetGraphicsMode

SetMapMode

SetViewportExtEx

SetViewportOrgEx

SetWindowExtEx

SetWindowOrgEx

XFORM