PathGradientBrush.SetSigmaBellShape Metoda

Definicja

Tworzy spadek gradientu między kolorem środkowym a pierwszym kolorem otaczającym na podstawie krzywej w kształcie dzwonu.

Przeciążenia

SetSigmaBellShape(Single)

Tworzy pędzla gradientowego, który 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 pędzla gradientowego, który 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
Źródło:
PathGradientBrush.cs

Tworzy pędzla gradientowego, który 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 na najwyższym natężeniu. 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 tablica SurroundColors zawiera 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 dla dyskretnych punktów na ścieżce granic pędzla.

Domyślnie po przejściu z granicy gradientu ścieżki do punktu środkowego kolor zmienia się stopniowo z koloru granicy na kolor środkowy. Możesz dostosować pozycjonowanie i mieszanie kolorów granic i środkowych, wywołując tę metodę.

Dotyczy

SetSigmaBellShape(Single, Single)

Źródło:
PathGradientBrush.cs
Źródło:
PathGradientBrush.cs
Źródło:
PathGradientBrush.cs

Tworzy pędzla gradientowego, który 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 na najwyższym natężeniu. 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 najwyższą możliwą intensywność koloru środka i jest to wartość domyślna.

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z Windows Forms i wymaga PaintEventArgseOnPaint obiektu zdarzenia . Kod wykonuje następujące akcje:

  • Tworzy ścieżkę graficzną i dodaje do niego prostokąt.

  • Tworzy element 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 ekran PathGradientBrush przed zastosowaniem przekształcenia blend.

  • Stosuje transformację mieszanki do pędzla przy użyciu jego SetSigmaBellShape metody.

  • Wywołuje metodę TranslateTransform , aby przenieść prostokąt pędzla, tak aby nie nakładał się na nią wcześniej.

  • 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 tablica SurroundColors zawiera 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 dla dyskretnych punktów na ścieżce granic pędzla.

Domyślnie po przejściu z granicy gradientu ścieżki do punktu środkowego kolor zmienia się stopniowo z koloru granicy na kolor środkowy. Możesz dostosować pozycjonowanie i mieszanie kolorów granic i środkowych, wywołując tę metodę.

Dotyczy