Partager via


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

La méthode PathGradientBrush::GetBlendCount obtient le nombre de facteurs de fusion actuellement définis pour ce pinceau de dégradé de chemin d’accès.

Syntaxe

INT GetBlendCount();

Valeur de retour

Type : INT

Cette méthode retourne le nombre de facteurs de fusion actuellement définis pour ce pinceau de dégradé de chemin.

Notes

Avant d’appeler la méthode PathGradientBrush::GetBlend d’un objet PathGradientBrush , vous devez allouer deux mémoires tampons : l’une pour recevoir un tableau de facteurs de fusion et l’autre pour recevoir un tableau de positions de fusion. Pour déterminer la taille des mémoires tampons requises, appelez la méthode PathGradientBrush::GetBlendCount de l’objet PathGradientBrush . La taille (en octets) de chaque mémoire tampon doit être la valeur de retour de PathGradientBrush::GetBlendCount multipliée par sizeof( REAL).

Exemples

L’exemple suivant illustre plusieurs méthodes de la classe PathGradientBrush , notamment PathGradientBrush::SetBlend, PathGradientBrush::GetBlendCount et PathGradientBrush::GetBlend. Le code crée un objet PathGradientBrush et appelle la méthode PathGradientBrush::SetBlend pour établir un ensemble de facteurs de fusion et de positions de fusion pour le pinceau. Ensuite, le code appelle la méthode PathGradientBrush::GetBlendCount pour récupérer le nombre de facteurs de fusion. Une fois le nombre de facteurs de fusion récupéré, le code alloue deux mémoires tampons : l’une pour recevoir le tableau des facteurs de fusion et l’autre pour recevoir le tableau de positions de fusion. Ensuite, le code appelle la méthode PathGradientBrush::GetBlend pour récupérer les facteurs de fusion et les positions de fusion.

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

   // Create a path that consists of a single ellipse.
   GraphicsPath path;
   path.AddEllipse(0, 0, 200, 100);

   // Use the path to construct a brush.
   PathGradientBrush pthGrBrush(&path);

   // Set the color at the center of the path to blue.
   pthGrBrush.SetCenterColor(Color(255, 0, 0, 255));

   // Set the color along the entire boundary of the path to aqua.
   Color colors[] = {Color(255, 0, 255, 255)};
   INT count = 1;
   pthGrBrush.SetSurroundColors(colors, &count);

   // Set blend factors and positions for the path gradient brush.
   REAL fac[] = {
      0.0f, 
      0.4f,     // 40 percent of the way from aqua to blue
      0.8f,     // 80 percent of the way from aqua to blue
      1.0f};

   REAL pos[] = {
      0.0f, 
      0.3f,   // 30 percent of the way from the boundary to the center
      0.7f,   // 70 percent of the way from the boundary to the center
      1.0f};

   pthGrBrush.SetBlend(fac, pos, 4);

   // Fill the ellipse with the path gradient brush.
   graphics.FillEllipse(&pthGrBrush, 0, 0, 200, 100);

   // Obtain information about the path gradient brush.
   INT blendCount = pthGrBrush.GetBlendCount();
   REAL* factors = new REAL[blendCount];
   REAL* positions = new REAL[blendCount];

   pthGrBrush.GetBlend(factors, positions, blendCount);

   for(INT j = 0; j < blendCount; ++j)
   {
      // Inspect or use the value in factors[j].
      // Inspect or use the value in positions[j].    
   }

   delete [] factors;
   delete [] positions; 
}

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 (include 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 couleur

PathGradientBrush

PathGradientBrush::GetBlend

PathGradientBrush::SetBlend