Freigeben über


PathGradientBrush.SetSigmaBellShape Methode

Definition

Erstellt einen Farbverlauf zwischen der Mittelpunktfarbe und der ersten Umgebungsfarbe auf der Grundlage einer Glockenkurve.

Überlädt

SetSigmaBellShape(Single)

Erstellt einen Farbverlaufspinsel, der die Farben von der Mitte des Pfads zu dessen Rand hin ändert. Der Übergang von einer Farbe in eine andere beruht auf einer Glockenkurve.

SetSigmaBellShape(Single, Single)

Erstellt einen Farbverlaufspinsel, der die Farben von der Mitte des Pfads zu dessen Rand hin ändert. Der Übergang von einer Farbe in eine andere beruht auf einer Glockenkurve.

SetSigmaBellShape(Single)

Quelle:
PathGradientBrush.cs
Quelle:
PathGradientBrush.cs
Quelle:
PathGradientBrush.cs

Erstellt einen Farbverlaufspinsel, der die Farben von der Mitte des Pfads zu dessen Rand hin ändert. Der Übergang von einer Farbe in eine andere beruht auf einer Glockenkurve.

public:
 void SetSigmaBellShape(float focus);
public void SetSigmaBellShape (float focus);
member this.SetSigmaBellShape : single -> unit
Public Sub SetSigmaBellShape (focus As Single)

Parameter

focus
Single

Ein Wert von 0 (null) bis 1, der angibt, wo die Mittelpunktfarbe entlang einer beliebigen Radiallinie von der Mitte des Pfads bis zu dessen Rand über die höchste Intensität verfügt. Der Wert 1 (Standardwert) positioniert die höchste Intensität in die Mitte des Pfads.

Beispiele

Ein Beispiel finden Sie unter SetSigmaBellShape.

Hinweise

Wenn mehr als eine Farbe im SurroundColors Array vorhanden ist, wird die erste Farbe im Array für die Endfarbe verwendet. Die in diesem Array angegebenen Farben sind Farben, die für diskrete Punkte im Begrenzungspfad des Pinsels verwendet werden.

Wenn Sie von der Grenze eines Pfadfarbverlaufs zum Mittelpunkt wechseln, ändert sich die Farbe standardmäßig allmählich von der Begrenzungsfarbe zur Mittleren Farbe. Sie können die Positionierung und Mischung der Begrenzungs- und Zentrierungsfarben anpassen, indem Sie diese Methode aufrufen.

Gilt für:

SetSigmaBellShape(Single, Single)

Quelle:
PathGradientBrush.cs
Quelle:
PathGradientBrush.cs
Quelle:
PathGradientBrush.cs

Erstellt einen Farbverlaufspinsel, der die Farben von der Mitte des Pfads zu dessen Rand hin ändert. Der Übergang von einer Farbe in eine andere beruht auf einer Glockenkurve.

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)

Parameter

focus
Single

Ein Wert von 0 (null) bis 1, der angibt, wo die Mittelpunktfarbe entlang einer beliebigen Radiallinie von der Mitte des Pfads bis zu dessen Rand über die höchste Intensität verfügt. Der Wert 1 (Standardwert) positioniert die höchste Intensität in die Mitte des Pfads.

scale
Single

Ein Wert von 0 (null) bis 1, der die maximale Intensität der in die Randfarbe übergehenden Mittelpunktfarbe angibt. Beim Standardwert 1 hat die Mittelpunktfarbe die größtmögliche Intensität.

Beispiele

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms konzipiert und erfordert PaintEventArgse, ein OnPaint Ereignisobjekt. Der Code führt die folgenden Aktionen aus:

  • Erstellt einen Grafikpfad und fügt diesem ein Rechteck hinzu.

  • Erstellt eine PathGradientBrush aus den Pfadpunkten (in diesem Beispiel bilden die Punkte ein Rechteck, aber es kann sich in den meisten Fällen um eine beliebige Form handeln).

  • Legt die Mittlere Farbe auf Rot und die umgebende Farbe auf Blau fest.

  • Zeichnet vor PathGradientBrush dem Anwenden der Blendtransformation auf den Bildschirm.

  • Wendet die Blendtransformation mithilfe der - SetSigmaBellShape Methode auf den Pinsel an.

  • Ruft die TranslateTransform -Methode auf, um das Pinselrechteck so zu verschieben, dass das zuvor auf den Bildschirm gezeichnete Rechteck nicht überlagert wird.

  • Zeichnet das Rechteck mit transformiertem Pinsel auf den Bildschirm.

Beachten Sie, dass sich die maximale mittlere Farbe (rot) auf halbem Weg von der Mitte des Pfads bis zur Pfadgrenze befindet.

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

Hinweise

Wenn mehr als eine Farbe im SurroundColors Array vorhanden ist, wird die erste Farbe im Array für die Endfarbe verwendet. Die in diesem Array angegebenen Farben sind Farben, die für diskrete Punkte im Begrenzungspfad des Pinsels verwendet werden.

Wenn Sie von der Grenze eines Pfadfarbverlaufs zum Mittelpunkt wechseln, ändert sich die Farbe standardmäßig allmählich von der Begrenzungsfarbe zur Mittleren Farbe. Sie können die Positionierung und Mischung der Begrenzungs- und Zentrierungsfarben anpassen, indem Sie diese Methode aufrufen.

Gilt für: