PathGradientBrush::ScaleTransform, méthode (gdipluspath.h)

La méthode PathGradientBrush::ScaleTransform met à jour la matrice de transformation actuelle de ce pinceau avec le produit de lui-même et une matrice de mise à l’échelle.

Syntaxe

Status ScaleTransform(
  [in] REAL        sx,
  [in] REAL        sy,
  [in] MatrixOrder order
);

Paramètres

[in] sx

Type : REAL

Nombre réel qui spécifie le facteur d’échelle horizontal.

[in] sy

Type : REAL

Nombre réel qui spécifie le facteur d’échelle vertical.

[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 mise à l’échelle se trouve à gauche et MatrixOrderAppend spécifie que la matrice de mise à l’échelle 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 S représente une mise à l’échelle. Si la matrice M est le TS de produit, la matrice M représente une transformation composite : d’abord traduire, puis mettre à l’échelle.

Exemples

L’exemple suivant crée un objet PathGradientBrush basé sur un chemin triangulaire. Les appels aux méthodes PathGradientBrush::TranslateTransform et PathGradientBrush::ScaleTransform 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 traduire, puis mettre à l’échelle. 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_ScaleTransform(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.TranslateTransform(50.0f, 40.0f);               // translate
   pthGrBrush.ScaleTransform(3.0f, 2.0f, MatrixOrderAppend);  // then scale

   // 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

Pinceaux et formes remplies

Création d’un dégradé de chemin

Remplissage d’une forme avec un dégradé de couleurs

Matrice

Représentation matricielle des transformations

MatrixOrder

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::SetTransform

PathGradientBrush::TranslateTransform

Transformations