LinearGradientBrush::SetTransform method (gdiplusbrush.h)
The LinearGradientBrush::SetTransform method sets the transformation matrix of this linear gradient brush.
Syntax
Status SetTransform(
[in] const Matrix *matrix
);
Parameters
[in] matrix
Type: const Matrix*
Pointer to a Matrix object that specifies the transformation matrix.
Return value
Type: Status
If the method succeeds, it returns Ok, which is an element of the Status enumeration.
If the method fails, it returns one of the other elements of the Status enumeration.
Remarks
A LinearGradientBrush object has a rectangle that specifies the starting and ending boundaries of the gradient and a mode or angle that affects the direction. If the brush's transformation matrix is set to represent any transformation other than the identity, then the boundaries and direction are transformed according to that matrix during rendering.
The transformation applies only during rendering. The boundaries stored by the LinearGradientBrush object are not altered by the LinearGradientBrush::SetTransform method.
Examples
The following example creates a linear gradient brush and uses it to fill a rectangle. Next, the code modifies the brush's transformation matrix and fills a rectangle with the transformed brush.
VOID Example_SetTransform(HDC hdc)
{
Graphics myGraphics(hdc);
LinearGradientBrush linGrBrush(
Rect(0, 0, 100, 50),
Color(255, 255, 0, 0), // red
Color(255, 0, 0, 255), // blue
LinearGradientModeHorizontal);
Matrix matrix(2.0, 0, 0, 1, 0, 0); // horizontal doubling
// Fill a large area with the linear gradient brush (no transformation).
myGraphics.FillRectangle(&linGrBrush, 0, 0, 800, 50);
linGrBrush.SetTransform(&matrix);
// Fill a large area with the transformed linear gradient brush.
myGraphics.FillRectangle(&linGrBrush, 0, 75, 800, 50);
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP, Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | gdiplusbrush.h (include Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |
See also
Filling Shapes with a Gradient Brush
LinearGradientBrush::GetTransform
LinearGradientBrush::ResetTransform