PathGradientBrush::RotateTransform, méthode (gdipluspath.h)
La méthode PathGradientBrush::RotateTransform met à jour la matrice de transformation actuelle de ce pinceau avec le produit de lui-même et une matrice de rotation.
Syntaxe
Status RotateTransform(
[in] REAL angle,
[in] MatrixOrder order
);
Paramètres
[in] angle
Type : REAL
Nombre réel qui spécifie l’angle de rotation en degrés.
[in] order
Type : MatrixOrder
Optionnel. Élément de l’énumération MatrixOrder qui spécifie l’ordre de la multiplication. MatrixOrderPrepend spécifie que la matrice de rotation se trouve à gauche et MatrixOrderAppend spécifie que la matrice de rotation se trouve à droite. La valeur par défaut est MatrixOrderPrepend.
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Notes
Une seule matrice 3 ×3 peut stocker n’importe quelle séquence de transformations affines. Si vous avez plusieurs matrices 3 ×3, chacune représentant une transformation affine, le produit de ces matrices est une matrice 3 ×3 unique qui représente l’ensemble de la séquence de transformations. La transformation représentée par ce produit est appelée transformation composite. Par exemple, supposons que la matrice T représente une traduction et que la matrice R représente une rotation. Si la matrice M est le tr du produit, la matrice M représente une transformation composite : d’abord traduire, puis faire pivoter.
Exemples
L’exemple suivant crée un objet PathGradientBrush basé sur un chemin triangulaire. Les appels aux méthodes PathGradientBrush::ScaleTransform et PathGradientBrush::RotateTransform de l’objet PathGradientBrush définissent les éléments de la matrice de transformation du pinceau afin qu’elle représente une transformation composite : d’abord mettre à l’échelle, puis faire pivoter. Le code utilise deux fois le pinceau dégradé de chemin pour peindre un rectangle : une fois avant que la transformation soit définie et une fois après la transformation.
VOID Example_RotateTransform(HDC hdc)
{
Graphics graphics(hdc);
// Create a path gradient brush based on an array of points.
Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
PathGradientBrush pthGrBrush(pts, 3);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
pthGrBrush.ScaleTransform(3.0f, 1.0f); // first scale
pthGrBrush.RotateTransform(60.0f, MatrixOrderAppend); // then rotate
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
}
Spécifications
Client minimal pris en charge | Windows XP, Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdipluspath.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |
Voir aussi
Création d’un dégradé de chemin
Remplissage d’une forme avec un dégradé de couleurs
Représentation matricielle des transformations
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::ScaleTransform
PathGradientBrush::SetTransform