PathGradientBrush ::TranslateTransform, méthode (gdipluspath.h)
La méthode PathGradientBrush ::TranslateTransform met à jour la matrice de transformation actuelle de ce pinceau avec le produit de lui-même et une matrice de traduction.
Syntaxe
Status TranslateTransform(
[in] REAL dx,
[in] REAL dy,
[in] MatrixOrder order
);
Paramètres
[in] dx
Type : REAL
Nombre réel qui spécifie le composant horizontal de la traduction.
[in] dy
Type : REAL
Nombre réel qui spécifie le composant vertical de la traduction.
[in] order
Type : MatrixOrder
facultatif. Élément de l’énumération MatrixOrder qui spécifie l’ordre de la multiplication. MatrixOrderPrepend spécifie que la matrice de traduction se trouve à gauche et MatrixOrderAppend spécifie que la matrice de traduction 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 .
Remarques
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 S représente une mise à l’échelle et que la matrice T représente une traduction. Si la matrice M est la st du produit, la matrice M représente une transformation composite : d’abord mettre à l’échelle, puis traduire.
Exemples
L’exemple suivant crée un objet PathGradientBrush basé sur un chemin triangulaire. Les appels aux méthodes PathGradientBrush ::ScaleTransform et PathGradientBrush ::TranslateTransform 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 traduire. 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_TranslateTrans(HDC hdc)
{
Graphics graphics(hdc);
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);
pthGrBrush.TranslateTransform(100.0f, 50.0f, MatrixOrderAppend);
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
}
Configuration requise
Condition requise | Valeur |
---|---|
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 ::RotateTransform
PathGradientBrush ::ScaleTransform