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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour