勇芳软件工作室.汉化:  Coordinate Spaces and Transformations > Coordinate Spaces and Transformations Functions >

SetWorldTransform

Previous pageReturn to chapter overviewNext page

描述

 

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

 

C++ 语法

 

BOOL SetWorldTransform(

__in HDC hdc,

__in const XFORM *lpXform

);

 

PowerBASIC 语法

 

FUNCTION SetWorldTransform ( _

BYVAL hdc AS DWORD, _

BYREF lpXform AS XFORM _

) AS LONG

 

参数

 

hdc

 

[in]处理设备上下文。

 

lpXform

 

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

 

返回值

 

如果函数成功,返回值不为零。

 

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

 

Windows NT / 2000 / XP / Vista / Windows 7:要获取扩展错误信息,请调用GetLastError.

 

备注

 

对于世界空间中的任何坐标(x,y),页面空间(x',y')中的变换坐标可以通过以下算法确定:

 

x' = x * eM11 + y * eM21 + eDx

y' = x * eM12 + y * eM22 + eDy

 

其中变换矩阵由以下表示:

 

| eM11 eM12 0 |

| eM21 eM22 0 |

| eDx  eDy  1 |

 

此函数使用逻辑单元。

 

世界变革通常用于以独立于设备的方式缩放或旋转逻辑图像。

 

默认的世界变换是零偏移的单位矩阵。

 

SetWorldTransform功能将失败,除非给定设备上下文的图形模式通过以前调用SetGraphicsMode功能设置为GM_ADVANCED。同样地,除非通过调用SetWorldTransformModifyWorldTransform首先将世界变换重置为默认身份转换,否则将无法将设备上下文的图形模式重置为默认的GM_COMPATIBLE模式。

 

引用文件 #INCLUDE Once

 

WinGdi.inc(包括Windows.inc)