The SetWorldTransform function sets a two-dimensional linear transformation between world space and page space for the specified device context. This transformation can be used to scale, rotate, shear, or translate graphics output.
BOOL SetWorldTransform( HDC hdc, const XFORM *lpxf );
A handle to the device context.
A pointer to an XFORM structure that contains the transformation data.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
For any coordinates (x, y) in world space, the transformed coordinates in page space (x', y') can be determined by the following algorithm:
x' = x * eM11 + y * eM21 + eDx, y' = x * eM12 + y * eM22 + eDy,
where the transformation matrix is represented by the following:
| eM11 eM12 0 | | eM21 eM22 0 | | eDx eDy 1 |
This function uses logical units.
The world transformation is usually used to scale or rotate logical images in a device-independent way.
The default world transformation is the identity matrix with zero offset.
The SetWorldTransform function will fail unless the graphics mode for the given device context has been set to GM_ADVANCED by previously calling the SetGraphicsMode function. Likewise, it will not be possible to reset the graphics mode for the device context to the default GM_COMPATIBLE mode, unless the world transformation has first been reset to the default identity transformation by calling SetWorldTransform or ModifyWorldTransform.
For an example, see Using Coordinate Spaces and Transformations.
|Minimum supported client||Windows 2000 Professional [desktop apps only]|
|Minimum supported server||Windows 2000 Server [desktop apps only]|
|Header||wingdi.h (include Windows.h)|