PathGradientBrush.SetBlendTriangularShape Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy gradient z kolorem środkowym i odejmem liniowym do jednego otaczającego koloru.
Przeciążenia
SetBlendTriangularShape(Single) |
Tworzy gradient z kolorem środkowym i odejmem liniowym do jednego otaczającego koloru. |
SetBlendTriangularShape(Single, Single) |
Tworzy gradient z kolorem środkowym i spadkiem liniowym do każdego otaczającego koloru. |
SetBlendTriangularShape(Single)
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
Tworzy gradient z kolorem środkowym i odejmem liniowym do jednego otaczającego koloru.
public:
void SetBlendTriangularShape(float focus);
public void SetBlendTriangularShape (float focus);
member this.SetBlendTriangularShape : single -> unit
Public Sub SetBlendTriangularShape (focus As Single)
Parametry
- focus
- Single
Wartość z zakresu od 0 do 1, która określa, gdzie wzdłuż dowolnego promienia od środka ścieżki do granicy ścieżki, kolor środkowy będzie mieć najwyższą intensywność. Wartość 1 (wartość domyślna) umieszcza najwyższą intensywność w środku ścieżki.
Przykłady
Aby zapoznać się z przykładem, zobacz SetBlendTriangularShape.
Uwagi
Jeśli w tablicy SurroundColors znajduje się więcej niż jeden kolor, pierwszy kolor tablicy jest używany dla koloru końcowego. Kolory określone w tej tablicy są używane dla dyskretnych punktów na ścieżce granic pędzla.
Dotyczy
SetBlendTriangularShape(Single, Single)
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
Tworzy gradient z kolorem środkowym i spadkiem liniowym do każdego otaczającego koloru.
public:
void SetBlendTriangularShape(float focus, float scale);
public void SetBlendTriangularShape (float focus, float scale);
member this.SetBlendTriangularShape : single * single -> unit
Public Sub SetBlendTriangularShape (focus As Single, scale As Single)
Parametry
- focus
- Single
Wartość z zakresu od 0 do 1, która określa, gdzie wzdłuż dowolnego promienia od środka ścieżki do granicy ścieżki, kolor środkowy będzie mieć najwyższą intensywność. Wartość 1 (wartość domyślna) umieszcza najwyższą intensywność w środku ścieżki.
- scale
- Single
Wartość z zakresu od 0 do 1, która określa maksymalną intensywność koloru środka, który jest mieszany z kolorem granicy. Wartość 1 powoduje największą możliwą intensywność koloru środka i jest to wartość domyślna.
Przykłady
Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse
, obiektu zdarzenia OnPaint. Kod wykonuje następujące akcje:
Tworzy ścieżkę grafiki i dodaje do niej prostokąt.
Tworzy PathGradientBrush z punktów ścieżki (w tym przykładzie punkty tworzą prostokąt, ale może to być najbardziej dowolny kształt).
Ustawia kolor środkowy na czerwony i otaczający kolor na niebieski.
Rysuje PathGradientBrush na ekranie przed zastosowaniem przekształcenia blend.
Stosuje przekształcenie mieszania do pędzla przy użyciu metody SetBlendTriangularShape.
Wywołuje metodę TranslateTransform, aby przenieść prostokąt pędzla, tak aby nie nakładał na siebie tego narysowanego wcześniej ekranu.
Rysuje prostokąt przekształconego pędzla rysowany na ekranie.
Zwróć uwagę, że maksymalny kolor środkowy (czerwony) znajduje się w połowie drogi od środka ścieżki do granicy ścieżki.
public:
void SetBlendTriangularShapeExample( PaintEventArgs^ e )
{
// Create a graphics path and add a rectangle.
GraphicsPath^ myPath = gcnew GraphicsPath;
Rectangle rect = Rectangle(100,20,100,50);
myPath->AddRectangle( rect );
// Get the path's array of points.
array<PointF>^myPathPointArray = myPath->PathPoints;
// Create a path gradient brush.
PathGradientBrush^ myPGBrush = gcnew PathGradientBrush( myPathPointArray );
// Set the color span.
myPGBrush->CenterColor = Color::Red;
array<Color>^ mySurroundColor = {Color::Blue};
myPGBrush->SurroundColors = mySurroundColor;
// Draw the brush to the screen prior to the blend.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 200 );
// Set the Blend factors.
myPGBrush->SetBlendTriangularShape( 0.5f, 1.0f );
// Move the brush down by 100 by Applying the translate
// transform to the brush.
myPGBrush->TranslateTransform( 0, 100, MatrixOrder::Append );
// Draw the brush to the screen again after applying the
// transforms.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 300, 300 );
}
public void SetBlendTriangularShapeExample(PaintEventArgs e)
{
// Create a graphics path and add a rectangle.
GraphicsPath myPath = new GraphicsPath();
Rectangle rect = new Rectangle(100, 20, 100, 50);
myPath.AddRectangle(rect);
// Get the path's array of points.
PointF[] myPathPointArray = myPath.PathPoints;
// Create a path gradient brush.
PathGradientBrush myPGBrush = new
PathGradientBrush(myPathPointArray);
// Set the color span.
myPGBrush.CenterColor = Color.Red;
Color[] mySurroundColor = {Color.Blue};
myPGBrush.SurroundColors = mySurroundColor;
// Draw the brush to the screen prior to the blend.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);
// Set the Blend factors.
myPGBrush.SetBlendTriangularShape(0.5f, 1.0f);
// Move the brush down by 100 by Applying the translate
// transform to the brush.
myPGBrush.TranslateTransform(0, 100, MatrixOrder.Append);
// Draw the brush to the screen again after applying the
// transforms.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300);
}
Public Sub SetBlendTriangularShapeExample(ByVal e As PaintEventArgs)
' Create a graphics path and add a rectangle.
Dim myPath As New GraphicsPath
Dim rect As New Rectangle(100, 20, 100, 50)
myPath.AddRectangle(rect)
' Get the path's array of points.
Dim myPathPointArray As PointF() = myPath.PathPoints
' Create a path gradient brush.
Dim myPGBrush As New PathGradientBrush(myPathPointArray)
' Set the color span.
myPGBrush.CenterColor = Color.Red
Dim mySurroundColor As Color() = {Color.Blue}
myPGBrush.SurroundColors = mySurroundColor
' Draw the brush to the screen prior to blend.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200)
' Set the Blend factors.
myPGBrush.SetBlendTriangularShape(0.5F, 1.0F)
' Move the brush down by 100 by Applying the translate
' transform to the brush.
myPGBrush.TranslateTransform(0, 100, MatrixOrder.Append)
' Draw the brush to the screen again after applying the
' transforms.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300)
End Sub
Uwagi
Jeśli w tablicy SurroundColors znajduje się więcej niż jeden kolor, pierwszy kolor tablicy jest używany dla koloru końcowego. Kolory określone w tej tablicy są kolorami używanymi do punktów dyskretnych na ścieżce granic pędzla.
Domyślnie w miarę przechodzenia z granicy gradientu ścieżki do punktu środkowego kolor zmienia się stopniowo z koloru granicy na kolor środkowy. Możesz dostosować pozycjonowanie i łączenie kolorów granic i środkowych, wywołując tę metodę.