Freigeben über


PathGradientBrush::GetBlend-Methode (gdipluspath.h)

Die PathGradientBrush::GetBlend-Methode ruft die Blendfaktoren und die entsprechenden Mischpositionen ab, die derzeit für diesen Pfadverlaufspinsel festgelegt sind.

Syntax

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

Parameter

[out] blendFactors

Typ: REAL*

Zeiger auf ein Array, das die Mischfaktoren empfängt.

[out] blendPositions

Typ: REAL*

Zeiger auf ein Array, das die Mischpositionen empfängt.

[in] count

Typ: INT

Ganzzahl, die die Anzahl der abzurufenden Mischfaktoren angibt. Rufen Sie vor dem Aufrufen der PathGradientBrush::GetBlend-Methode eines PathGradientBrush-Objekts die PathGradientBrush::GetBlendCount-Methode desselben PathGradientBrush-Objekts auf, um die aktuelle Anzahl von Blendfaktoren zu bestimmen. Die Anzahl der abgerufenen Blendpositionen entspricht der Anzahl der abgerufenen Blendfaktoren.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.

Hinweise

Ein PathGradientBrush-Objekt verfügt über einen Begrenzungspfad und einen Mittelpunkt. Wenn Sie einen Bereich mit einem Pfadfarbverlaufpinsel füllen, ändert sich die Farbe allmählich, wenn Sie vom Begrenzungspfad zum Mittelpunkt wechseln. Standardmäßig ist die Farbe linear mit der Entfernung verknüpft, Aber Sie können die Beziehung zwischen Farbe und Entfernung anpassen, indem Sie die PathGradientBrush::SetBlend-Methode aufrufen.

Beispiele

Im folgenden Beispiel werden mehrere Methoden der PathGradientBrush-Klasse veranschaulicht, einschließlich PathGradientBrush::SetBlend, PathGradientBrush::GetBlendCount und PathGradientBrush::GetBlend. Der Code erstellt ein PathGradientBrush-Objekt und ruft die PathGradientBrush::SetBlend-Methode auf, um eine Reihe von Blendfaktoren und Blendpositionen für den Pinsel festzulegen. Anschließend ruft der Code die PathGradientBrush::GetBlendCount-Methode auf, um die Anzahl der Blendfaktoren abzurufen. Nachdem die Anzahl der Blendfaktoren abgerufen wurde, weist der Code zwei Puffer zu: einen zum Empfangen des Arrays von Blendfaktoren und einen zum Empfangen des Arrays der Mischpositionen. Anschließend ruft der Code die PathGradientBrush::GetBlend-Methode auf, um die Mischfaktoren und die Blendpositionen abzurufen.

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdipluspath.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Pinsel und gefüllte Formen

Erstellen eines Pfadverlaufs

Füllen einer Form mit einem Farbverlauf

Graphicspath

LinearGradientBrush

Pathgradientbrush

PathGradientBrush::GetBlendCount

PathGradientBrush::SetBlend

PathGradientBrush::SetCenterColor

PathGradientBrush::SetCenterPoint-Methoden

PathGradientBrush::SetSurroundColors

Paths