Partager via


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

La méthode PathGradientBrush ::SetFocusScales définit les échelles de focus de ce pinceau de dégradé de chemin d’accès.

Syntaxe

Status SetFocusScales(
  [in] REAL xScale,
  [in] REAL yScale
);

Paramètres

[in] xScale

Type : REAL

Nombre réel qui spécifie l’échelle de focus x.

[in] yScale

Type : REAL

Nombre réel qui spécifie l’échelle de focus y.

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

Par défaut, la couleur centrale d’un dégradé de chemin est au point central. En appelant PathGradientBrush ::SetFocusScales, vous pouvez spécifier que la couleur centrale doit apparaître le long d’un chemin qui entoure le point central. Ce chemin est le chemin de limite mis à l’échelle par un facteur xScale dans la direction x et par un facteur yScale dans la direction y. La zone à l’intérieur du chemin mis à l’échelle est remplie avec la couleur centrale.

Exemples

L’exemple suivant crée un objet PathGradientBrush basé sur un chemin triangulaire. Le code appelle la méthode PathGradientBrush ::SetFocusScales de l’objet PathGradientBrush pour définir les échelles de focus du pinceau sur (0.2, 0.2). Ensuite, le code utilise le pinceau de dégradé de chemin pour peindre un rectangle qui inclut le chemin triangulaire.

VOID Example_SetFocusScales(HDC hdc)
{
   Graphics graphics(hdc);

   Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};

   // No GraphicsPath object is created. The PathGradientBrush
   // object is constructed directly from the array of points.
   PathGradientBrush pthGrBrush(points, 3);

   Color colors[] = {
      Color(255, 255, 0, 0),    // red
      Color(255, 0, 0, 255)};   // blue

   REAL relativePositions[] = {
      0.0f,    // red at the boundary of the outer triangle
      1.0f};   // blue at the boundary of the inner triangle

   pthGrBrush.SetInterpolationColors(colors, relativePositions, 2);

   // The inner triangle is formed by scaling the outer triangle
   // about its centroid. The scaling factor is 0.2 in both
   // the x and y directions.
   pthGrBrush.SetFocusScales(0.2f, 0.2f);

   // Fill a rectangle that is larger than the triangle
   // specified in the Point array. The portion of the
   // rectangle outside the triangle will not be painted.
   graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200); 
}

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

Pinceaux et formes remplies

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

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

PathGradientBrush

PathGradientBrush ::GetFocusScales

PathGradientBrush ::SetInterpolationColors