Partager via


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

La méthode PathGradientBrush::GetBlend obtient les facteurs de fusion et les positions de fusion correspondantes actuellement définies pour ce pinceau de dégradé de chemin.

Syntaxe

Status GetBlend(
  [out] REAL *blendFactors,
  [out] REAL *blendPositions,
  [in]  INT  count
);

Paramètres

[out] blendFactors

Type : REAL*

Pointeur vers un tableau qui reçoit les facteurs de fusion.

[out] blendPositions

Type : REAL*

Pointeur vers un tableau qui reçoit les positions de fusion.

[in] count

Type : INT

Entier qui spécifie le nombre de facteurs de fusion à récupérer. Avant d’appeler la méthode PathGradientBrush::GetBlend d’un objet PathGradientBrush , appelez la méthode PathGradientBrush::GetBlendCount de ce même objet PathGradientBrush pour déterminer le nombre actuel de facteurs de fusion. Le nombre de positions de fusion récupérées est identique au nombre de facteurs de fusion récupérés.

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

Un objet PathGradientBrush a un chemin de limite et un point central. Lorsque vous remplissez une zone avec un pinceau dégradé de chemin, la couleur change progressivement à mesure que vous passez du chemin de la limite au point central. Par défaut, la couleur est linéairement liée à la distance, mais vous pouvez personnaliser la relation entre la couleur et la distance en appelant la méthode PathGradientBrush::SetBlend .

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; 
}

Configuration requise

   
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

Graphicspath

LinearGradientBrush

PathGradientBrush

PathGradientBrush::GetBlendCount

PathGradientBrush::SetBlend

PathGradientBrush::SetCenterColor

PathGradientBrush::SetCenterPoint, méthodes

PathGradientBrush::SetSurroundColors

Chemins d’accès