LinearGradientBrush::SetBlend-Methode (gdiplusbrush.h)
Die LinearGradientBrush::SetBlend-Methode legt die Blendfaktoren und die Blendpositionen dieses linearen Farbverlaufspinsels fest, um eine benutzerdefinierte Mischung zu erstellen.
Syntax
Status SetBlend(
[in] const REAL *blendFactors,
[in] const REAL *blendPositions,
[in] INT count
);
Parameter
[in] blendFactors
Typ: const REAL*
Zeiger auf ein Array von reellen Zahlen, die Blendfaktoren angeben. Jede Zahl im Array gibt einen Prozentsatz der Endfarbe an und sollte im Bereich von 0,0 bis 1,0 liegen.
[in] blendPositions
Typ: const REAL*
Zeiger auf ein Array reelle Zahlen, die Mischpositionen angeben. Jede Zahl im Array gibt einen Prozentsatz des Abstands zwischen der Anfangsgrenze und der Endgrenze an und liegt im Bereich von 0,0 bis 1,0, wobei 0,0 die Anfangsgrenze des Farbverlaufs und 1,0 die Endgrenze angibt. Es müssen mindestens zwei Positionen angegeben werden: die erste Position, die immer 0,0f ist, und die letzte Position, die immer 1,0f ist. Andernfalls ist das Verhalten nicht definiert. Eine Mischposition zwischen 0,0 und 1,0 gibt eine Linie parallel zu den Begrenzungslinien an, die einen bestimmten Bruchteil des Abstands von der Startgrenze zur Endgrenze darstellt. Beispielsweise gibt eine Mischposition von 0,7 die Linie an, die 70 Prozent des Abstands von der Startgrenze zur Endgrenze beträgt. Die Farbe ist konstant für Linien, die parallel zu den Begrenzungslinien sind.
[in] count
Typ: INT
Eine ganze Zahl, die die Anzahl der Elemente im BlendFactors-Array angibt. Dies entspricht der Anzahl der Elemente im BlendPositions-Array . Der Blendfaktor an einem bestimmten Arrayindex entspricht der Blendposition an demselben Arrayindex.
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.
Bemerkungen
Ein LinearGradientBrush-Objekt weist zwei Grenzen auf. Wenn Sie einen Bereich mit einem linearen Farbverlaufpinsel füllen, ändert sich die Farbe allmählich, wenn Sie von der Anfangsgrenze zur Endgrenze wechseln. Standardmäßig ist die Farbe linear mit der Entfernung verknüpft. Sie können jedoch die Beziehung zwischen Farbe und Entfernung anpassen, indem Sie die LinearGradientBrush::SetBlend-Methode aufrufen.
Beispiele
Im folgenden Beispiel wird ein linearer Farbverlaufpinsel erstellt, eine benutzerdefinierte Mischung festgelegt und der Pinsel verwendet, um ein Rechteck zu füllen.
VOID Example_SetBlend(HDC hdc)
{
Graphics myGraphics(hdc);
REAL factors[4] = {0.0f, 0.4f, 0.6f, 1.0f};
REAL positions[4] = {0.0f, 0.2f, 0.8f, 1.0f};
Rect rect(0, 0, 100, 50);
LinearGradientBrush linGrBrush(
rect,
Color(255, 255, 0, 0), // red
Color(255, 0, 0, 255), // blue
LinearGradientModeHorizontal);
linGrBrush.SetBlend(factors, positions, 4);
myGraphics.FillRectangle(&linGrBrush, rect);
}
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 | gdiplusbrush.h (include Gdiplus.h) |
Bibliothek | Gdiplus.lib |
DLL | Gdiplus.dll |
Weitere Informationen
Erstellen eines linearen Farbverlaufs