Share via


PathGradientBrush::GetSurroundColors-Methode (gdipluspath.h)

Die PathGradientBrush::GetSurroundColors-Methode ruft die Surroundfarben ab, die derzeit für diesen Pfadverlaufspinsel angegeben sind.

Syntax

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

Parameter

[in] colors

Typ: Farbe*

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

[in, out] count

Typ: INT*

Zeiger auf eine ganze Zahl, die bei der Eingabe die Anzahl der angeforderten Farben angibt. Wenn die Methode erfolgreich ist, empfängt dieser Parameter bei der Ausgabe die Anzahl der abgerufenen Farben. Wenn die Methode fehlschlägt, empfängt dieser Parameter keinen Wert.

Rückgabewert

Typ: Status

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

Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.

Hinweise

Ein Pfadverlaufspinsel hat einen Begrenzungspfad und einen Mittelpunkt. Der Mittelpunkt ist auf eine einzelne Farbe festgelegt, Sie können jedoch verschiedene Farben für mehrere Punkte an der Grenze angeben. Angenommen, Sie geben rot für die mittlere Farbe an, und Sie geben Blau, Grün und Gelb für unterschiedliche Punkte an der Grenze an. Wenn Sie sich dann entlang der Grenze bewegen, ändert sich die Farbe allmählich von blau zu grün zu gelb und zurück zu blau. Wenn Sie sich entlang einer geraden Linie von einem beliebigen Punkt auf der Grenze zum Mittelpunkt bewegen, ändert sich die Farbe von der Farbe dieses Begrenzungspunkts in Rot.

Beispiele

Im folgenden Beispiel wird ein PathGradientBrush-Objekt basierend auf einem dreieckigen Pfad erstellt, der durch ein Array von drei Punkten definiert wird. Der Code ruft die PathGradientBrush::SetSurroundColors-Methode des PathGradientBrush-Objekts auf, um eine Farbe für jeden punkt anzugeben, der das Dreieck definiert. Die PathGradientBrush::GetSurroundColorCount-Methode bestimmt die aktuelle Anzahl von Surroundfarben (die Farben, die für den Begrenzungspfad des Pinsels angegeben sind). Als Nächstes weist der Code einen Puffer zu, der groß genug ist, um das Array von Surroundfarben zu empfangen, und ruft PathGradientBrush::GetSurroundColors auf, um diesen Puffer zu füllen. Schließlich füllt der Code ein kleines Quadrat mit den einzelnen Umgebenden Farben des Pinsels.

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

Anforderungen

Anforderung Wert
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

Farbe

Erstellen eines Pfadverlaufs

Füllen einer Form mit einem Farbverlauf

Pathgradientbrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::SetSurroundColors