PathGradientBrush::GetInterpolationColorCount-Methode (gdipluspath.h)
Die PathGradientBrush::GetInterpolationColorCount-Methode ruft die Anzahl der voreingestellten Farben ab, die derzeit für diesen Pfadverlaufspinsel angegeben sind.
Syntax
INT GetInterpolationColorCount();
Rückgabewert
Typ: INT
Diese Methode gibt die Anzahl der voreingestellten Farben zurück, die derzeit für diesen Pfadverlaufspinsel angegeben sind.
Hinweise
Ein einfacher Pfadverlaufspinsel hat zwei Farben: eine Begrenzungsfarbe und eine mittlere Farbe. Wenn Sie mit einem solchen Pinsel malen, ändert sich die Farbe schrittweise von der Begrenzungsfarbe in die Mittlere Farbe, während Sie vom Begrenzungspfad zum Mittelpunkt wechseln. Sie können einen komplexeren Farbverlauf erstellen, indem Sie ein Array von voreingestellten Farben und ein Array von Mischpositionen angeben.
Sie können die Interpolationsfarben und Interpolationspositionen abrufen, die derzeit für ein PathGradientBrush-Objekt festgelegt sind, indem Sie die PathGradientBrush::GetInterpolationColors-Methode dieses PathGradientBrush-Objekts aufrufen. Bevor Sie die PathGradientBrush::GetInterpolationColors-Methode aufrufen, müssen Sie zwei Puffer zuordnen: einen, um das Array der Interpolationsfarben aufzunehmen, und einer, um das Array der Interpolationspositionen zu speichern. Sie können die PathGradientBrush::GetInterpolationColorCount-Methode des PathGradientBrush-Objekts aufrufen, um die erforderliche Größe dieser Puffer zu bestimmen. Die Größe des Farbpuffers ist der Rückgabewert von GetInterpolationColorCount multipliziert mit sizeof(Color). Die Größe des Positionspuffers ist der Wert von PathGradientBrush::GetInterpolationColorCount multipliziert mit sizeof( REAL).
Beispiele
Im folgenden Beispiel wird ein PathGradientBrush-Objekt aus einem dreieckigen Pfad erstellt. Der Code legt die voreingestellten Farben auf Rot, Blau und Aqua fest und legt die Mischpositionen auf 0, 0,6 und 1 fest. Der Code ruft die PathGradientBrush::GetInterpolationColorCount-Methode des PathGradientBrush-Objekts auf, um die Anzahl der voreingestellten Farben abzurufen, die derzeit für den Pinsel festgelegt sind. Als Nächstes ordnet der Code zwei Puffer zu: einen, um das Array der voreingestellten Farben zu halten, und einer, um das Array der Mischpositionen zu halten. Der Aufruf der PathGradientBrush::GetInterpolationColors-Methode des PathGradientBrush-Objekts füllt die Puffer mit den voreingestellten Farben und den Mischpositionen. Schließlich füllt der Code ein kleines Quadrat mit jeder der voreingestellten Farben.
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;
}
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
Füllen einer Form mit einem Farbverlauf