Freigeben über


LinearGradientBrush::SetBlendTriangularShape-Methode (gdiplusbrush.h)

Die LinearGradientBrush::SetBlendTriangularShape-Methode legt die Mischform dieses linearen Farbverlaufspinsels fest, um eine benutzerdefinierte Mischung basierend auf einer dreieckigen Form zu erstellen.

Syntax

Status SetBlendTriangularShape(
  [in] REAL focus,
  [in] REAL scale
);

Parameter

[in] focus

Typ: REAL

Reelle Zahl, die die Position der Endfarbe angibt. Diese Zahl ist ein Prozentsatz des Abstands zwischen den Begrenzungslinien und muss im Bereich von 0,0 bis 1,0 liegen.

[in] scale

Typ: REAL

Optional. Reelle Zahl, die den Prozentsatz der Endfarbe des Farbverlaufs angibt, der an der Fokusposition mit der Anfangsfarbe des Farbverlaufs gemischt wird. Diese Zahl muss im Bereich von 0,0 bis 1,0 liegen. Der Standardwert ist 1,0, der angibt, dass die Endfarbe die volle Intensität aufweist.

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

Standardmäßig wechselt die Farbe schrittweise von der Startfarbe (Farbe an der Anfangsgrenze des linearen Farbverlaufspinsels) zur Endfarbe (Farbe an der Endgrenze des linearen Farbverlaufspinsels), wenn Sie von der Anfangsgrenze zur Endgrenze wechseln. Sie können die Positionierung und Das Mischen der Anfangs- und Endfarben anpassen, indem Sie die LinearGradientBrush::SetBlendTriangularShape-Methode verwenden.

Die LinearGradientBrush::SetBlendTriangularShape-Methode passt die Mischung so an, dass sie einer dreieckigen Form mit den Extremen der Dreiecksbasis an den Grenzen des Farbverlaufs folgt. Die Anfangsfarbe, die sich in einer Standardmischung an der Anfangsgrenze eines linearen Farbverlaufpinsels befindet, wird an den Anfangs- und Endgrenzen des linearen Farbverlaufspinsels angezeigt, wenn eine dreieckige Mischung angewendet wird. Die Position der Endfarbe, die sich in einer Standardmischung an der Endgrenze befindet, befindet sich irgendwo zwischen den Begrenzungen und wird durch den Wert des Fokus bestimmt. Anders ausgedrückt: Der Fokus gibt die Position des Spitzenwerts des Dreiecks an. Beispielsweise platziert der Fokuswert 0,5 den Spitzenwert auf halbem Weg zwischen den Anfangs- und Endgrenzen. Die Endfarbe wird an dieser Spitze angezeigt.

Die Endfarbe in einer dreieckigen Mischung ist ein Prozentsatz des Gamuts zwischen der Standardmischungs-Anfangsfarbe des Farbverlaufs und der Standardmischungsendfarbe. Angenommen, ein linearer Farbverlaufpinsel wird mit Rot als Startfarbe und Blau als Endfarbe erstellt. Wenn LinearGradientBrush::SetBlendTriangularShape mit einem Skalierungswert von 0,3 aufgerufen wird, ist die Endfarbe in der dreieckigen Mischung ein Farbton, der 30 Prozent zwischen Rot und Blau (70 Prozent rot, 30 Prozent blau) liegt. Ein Skalierungswert von 1,0 erzeugt eine Endfarbe, die zu 100 Prozent blau ist.

Beispiele

Im folgenden Beispiel wird ein linearer Farbverlaufspinsel erstellt, eine dreieckige Mischung festgelegt und der Pinsel zum Füllen eines Rechtecks verwendet. Zweimal mehr legt der Code eine dreieckige Mischung mit unterschiedlichen Werten fest und verwendet jedes Mal den Pinsel, um ein Rechteck zu füllen.

VOID Example_SetBlendTri(HDC hdc)
{
   Graphics myGraphics(hdc);

   LinearGradientBrush linGrBrush(
      Point(0, 0),
      Point(500, 0),
      Color(255, 255, 0, 0),   // red
      Color(255, 0, 0, 255));  // blue

   linGrBrush.SetBlendTriangularShape(0.5f, 0.6f);
   myGraphics.FillRectangle(&linGrBrush, 0, 0, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 0.8f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 75, 500, 50);

   linGrBrush.SetBlendTriangularShape(0.5f, 1.0f); 
   myGraphics.FillRectangle(&linGrBrush, 0, 150, 500, 50);
}

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

Pinsel und gefüllte Formen

Erstellen eines linearen Farbverlaufs

Füllen einer Form mit einem Farbverlauf

LinearGradientBrush

LinearGradientBrush::GetBlend

LinearGradientBrush::SetBlend

LinearGradientBrush::SetBlendBellShape

Point