Partager via


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

La méthode PathGradientBrush ::GetInterpolationColorCount obtient le nombre de couleurs prédéfinies actuellement spécifiées pour ce pinceau de dégradé de chemin.

Syntaxe

INT GetInterpolationColorCount();

Valeur de retour

Type : INT

Cette méthode retourne le nombre de couleurs prédéfinies actuellement spécifiées pour ce pinceau de dégradé de chemin d’accès.

Remarques

Un pinceau dégradé de chemin simple a deux couleurs : une couleur de limite et une couleur centrale. Lorsque vous peignez avec un tel pinceau, la couleur passe progressivement de la couleur de la limite à la couleur du centre à mesure que vous passez du chemin de la limite au point central. Vous pouvez créer un dégradé plus complexe en spécifiant un tableau de couleurs prédéfinies et un tableau de positions de fusion.

Vous pouvez obtenir les couleurs d’interpolation et les positions d’interpolation actuellement définies pour un objet PathGradientBrush en appelant la méthode PathGradientBrush ::GetInterpolationColors de cet objet PathGradientBrush . Avant d’appeler la méthode PathGradientBrush ::GetInterpolationColors , vous devez allouer deux tampons : l’un pour contenir le tableau des couleurs d’interpolation et l’autre pour contenir le tableau de positions d’interpolation. Vous pouvez appeler la méthode PathGradientBrush ::GetInterpolationColorCount de l’objet PathGradientBrush pour déterminer la taille requise de ces mémoires tampons. La taille de la mémoire tampon de couleurs est la valeur de retour de GetInterpolationColorCount multipliée par sizeof(Color). La taille de la mémoire tampon de position est la valeur de PathGradientBrush ::GetInterpolationColorCount multipliée par sizeof( REAL).

Exemples

L’exemple suivant crée un objet PathGradientBrush à partir d’un chemin triangulaire. Le code définit les couleurs prédéfinies sur rouge, bleu et aqua, et définit les positions de fusion sur 0, 0,6 et 1. Le code appelle la méthode PathGradientBrush ::GetInterpolationColorCount de l’objet PathGradientBrush pour obtenir le nombre de couleurs prédéfinies actuellement définies pour le pinceau. Ensuite, le code alloue deux mémoires tampons : l’une pour contenir le tableau de couleurs prédéfinies et l’autre pour contenir le tableau de positions de fusion. L’appel à la méthode PathGradientBrush ::GetInterpolationColors de l’objet PathGradientBrush remplit les mémoires tampons avec les couleurs prédéfinies et les positions de fusion. Enfin, le code remplit un petit carré avec chacune des couleurs prédéfinies.

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

   // Create a path gradient brush from an array of points, and
   // set the interpolation colors for that brush.

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

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

   REAL pos[] = {
      0.0f,    // red at the boundary
      0.6f,    // blue 60 percent of the way from the boundary to the center
      1.0f};   // aqua at the center

   pthGrBrush.SetInterpolationColors(col, pos, 3);

   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetInterpolationColorCount();
   Color* colors = new Color[colorCount];
   REAL* positions = new REAL[colorCount];
   pthGrBrush.GetInterpolationColors(colors, positions, colorCount);

   // Fill a small square with each of the interpolation 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;
   delete [] positions; 
}

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 ::GetInterpolationColors

PathGradientBrush ::SetInterpolationColors