Partager via


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

La méthode PathGradientBrush ::GetSurroundColors obtient les couleurs d’entourage actuellement spécifiées pour ce pinceau dégradé de chemin d’accès.

Syntaxe

Status GetSurroundColors(
  [in]      Color *colors,
  [in, out] INT   *count
);

Paramètres

[in] colors

Type : Couleur*

Pointeur vers un tableau qui reçoit les couleurs d’environnement.

[in, out] count

Type : INT*

Pointeur vers un entier qui, lors de l’entrée, spécifie le nombre de couleurs demandées. Si la méthode réussit, ce paramètre, lors de la sortie, reçoit le nombre de couleurs récupérées. Si la méthode échoue, ce paramètre ne reçoit pas de valeur.

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

Un pinceau de dégradé de chemin a un chemin de limite et un point central. Le point central est défini sur une couleur unique, mais vous pouvez spécifier différentes couleurs pour plusieurs points de la limite. Par exemple, supposons que vous spécifiez le rouge pour la couleur centrale, et que vous spécifiez le bleu, le vert et le jaune pour les points distincts sur la limite. Ensuite, à mesure que vous vous déplacez le long de la limite, la couleur passe progressivement du bleu au vert au jaune, puis au bleu. Lorsque vous vous déplacez le long d’une ligne droite de n’importe quel point de la limite jusqu’au point central, la couleur passe de la couleur de ce point de limite au rouge.

Exemples

L’exemple suivant crée un objet PathGradientBrush basé sur un chemin triangulaire défini par un tableau de trois points. Le code appelle la méthode PathGradientBrush ::SetSurroundColors de l’objet PathGradientBrush pour spécifier une couleur pour chacun des points qui définissent le triangle. La méthode PathGradientBrush ::GetSurroundColorCount détermine le nombre actuel de couleurs d’entourage (les couleurs spécifiées pour le chemin de limite du pinceau). Ensuite, le code alloue une mémoire tampon suffisamment grande pour recevoir le tableau de couleurs d’entourage et appelle PathGradientBrush ::GetSurroundColors pour remplir cette mémoire tampon. Enfin, le code remplit un petit carré avec chacune des couleurs de contour du pinceau.

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

   // Create a path gradient brush and set its surround colors.
   Point pts[] = {
      Point(20, 20), 
      Point(100, 20), 
      Point(100, 100)};

   Color cols[] = {
      Color(255, 255, 0, 0),  // red
      Color(255, 0, 255, 0),  // green
      Color(255, 0, 0, 0)};   // black

   INT count = 3;
   PathGradientBrush pthGrBrush(pts, 3);
   pthGrBrush.SetSurroundColors(cols, &count);
   
   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetSurroundColorCount();
   Color* colors = new Color[colorCount];
   pthGrBrush.GetSurroundColors(colors, &colorCount);

   // Fill a small square with each of the surround colors.
   SolidBrush solidBrush(Color(255, 255, 255, 255));

   for(INT j = 0; j < colorCount; ++j)
   {
      solidBrush.SetColor(colors[j]);
      graphics.FillRectangle(&solidBrush, 15*j, 0, 10, 10);
   }

   delete [] colors;
}

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 (include Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Pinceaux et formes remplies

Color

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

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

PathGradientBrush

PathGradientBrush ::GetSurroundColorCount

PathGradientBrush ::SetSurroundColors