PathGradientBrush.SetSigmaBellShape 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 spadek gradientu między kolorem środkowym a pierwszym otaczającym kolorem na podstawie krzywej w kształcie dzwonu.
Przeciążenia
SetSigmaBellShape(Single) |
Tworzy szczotkę gradientową, która zmienia kolor rozpoczynający się od środka ścieżki na zewnątrz do granicy ścieżki. Przejście z jednego koloru do drugiego opiera się na krzywej w kształcie dzwonu. |
SetSigmaBellShape(Single, Single) |
Tworzy szczotkę gradientową, która zmienia kolor rozpoczynający się od środka ścieżki na zewnątrz do granicy ścieżki. Przejście z jednego koloru do drugiego opiera się na krzywej w kształcie dzwonu. |
SetSigmaBellShape(Single)
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
Tworzy szczotkę gradientową, która zmienia kolor rozpoczynający się od środka ścieżki na zewnątrz do granicy ścieżki. Przejście z jednego koloru do drugiego opiera się na krzywej w kształcie dzwonu.
public:
void SetSigmaBellShape(float focus);
public void SetSigmaBellShape (float focus);
member this.SetSigmaBellShape : single -> unit
Public Sub SetSigmaBellShape (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 SetSigmaBellShape.
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ę.
Dotyczy
SetSigmaBellShape(Single, Single)
- Źródło:
- PathGradientBrush.cs
- Źródło:
- PathGradientBrush.cs
Tworzy szczotkę gradientową, która zmienia kolor rozpoczynający się od środka ścieżki na zewnątrz do granicy ścieżki. Przejście z jednego koloru do drugiego opiera się na krzywej w kształcie dzwonu.
public:
void SetSigmaBellShape(float focus, float scale);
public void SetSigmaBellShape (float focus, float scale);
member this.SetSigmaBellShape : single * single -> unit
Public Sub SetSigmaBellShape (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 SetSigmaBellShape.
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 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 SetSigmaBellShapeExample( 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 blend.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 200 );
// Set the Blend factors and transform the brush.
myPGBrush->SetSigmaBellShape( 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 setting the
// blend and applying the transform.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 300, 300 );
}
public void SetSigmaBellShapeExample(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 blend.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);
// Set the Blend factors and transform the brush.
myPGBrush.SetSigmaBellShape(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 setting the
// blend and applying the transform.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300);
}
Public Sub SetSigmaBellShapeExample(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.SetSigmaBellShape(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 setting the
' blend and applying the transform.
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ę.