Bagikan melalui


PathGradientBrush.SetBlendTriangularShape Metode

Definisi

Membuat gradien dengan warna tengah dan falloff linier ke satu warna di sekitarnya.

Overload

SetBlendTriangularShape(Single)

Membuat gradien dengan warna tengah dan falloff linier ke satu warna di sekitarnya.

SetBlendTriangularShape(Single, Single)

Membuat gradien dengan warna tengah dan falloff linier ke setiap warna di sekitarnya.

SetBlendTriangularShape(Single)

Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs

Membuat gradien dengan warna tengah dan falloff linier ke satu warna di sekitarnya.

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

Parameter

focus
Single

Nilai dari 0 hingga 1 yang menentukan di mana, di sepanjang radial apa pun dari tengah jalur ke batas jalur, warna tengah akan berada pada intensitas tertingginya. Nilai 1 (default) menempatkan intensitas tertinggi di tengah jalur.

Contoh

Misalnya, lihat SetBlendTriangularShape.

Keterangan

Jika ada lebih dari satu warna dalam array SurroundColors, warna pertama dalam array digunakan untuk warna akhir. Warna yang ditentukan dalam array ini digunakan untuk titik diskrit pada jalur batas kuas.

Berlaku untuk

SetBlendTriangularShape(Single, Single)

Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs
Sumber:
PathGradientBrush.cs

Membuat gradien dengan warna tengah dan falloff linier ke setiap warna di sekitarnya.

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)

Parameter

focus
Single

Nilai dari 0 hingga 1 yang menentukan di mana, di sepanjang radial apa pun dari tengah jalur ke batas jalur, warna tengah akan berada pada intensitas tertingginya. Nilai 1 (default) menempatkan intensitas tertinggi di tengah jalur.

scale
Single

Nilai dari 0 hingga 1 yang menentukan intensitas maksimum warna tengah yang dicamur dengan warna batas. Nilai 1 menyebabkan intensitas tertinggi dari warna tengah, dan itu adalah nilai default.

Contoh

Contoh kode berikut dirancang untuk digunakan dengan Windows Forms, dan memerlukan PaintEventArgse, objek peristiwa OnPaint. Kode melakukan tindakan berikut:

  • Membuat jalur grafis dan menambahkan persegi panjang ke dalamnya.

  • Membuat PathGradientBrush dari titik jalur (dalam contoh ini, titik membentuk persegi panjang, tetapi bisa menjadi bentuk apa pun).

  • Mengatur warna tengah ke merah dan warna sekitarnya menjadi biru.

  • Menggambar PathGradientBrush ke layar sebelum menerapkan transformasi campuran.

  • Menerapkan transformasi campuran ke kuas dengan menggunakan metode SetBlendTriangularShape.

  • Memanggil metode TranslateTransform untuk memindahkan persegi panjang kuas sehingga tidak melapisi yang digambar ke layar sebelumnya.

  • Gambar persegi panjang kuas yang diubah digambar ke layar.

Perhatikan bahwa warna tengah maksimum (merah) terletak setengah jalan dari tengah jalur ke batas jalur.

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

Keterangan

Jika ada lebih dari satu warna dalam array SurroundColors, warna pertama dalam array digunakan untuk warna akhir. Warna yang ditentukan dalam array ini adalah warna yang digunakan untuk titik diskrit pada jalur batas kuas.

Secara default, saat Anda berpindah dari batas gradien jalur ke titik tengah, warna berubah secara bertahap dari warna batas ke warna tengah. Anda dapat menyesuaikan posisi dan perpaduan batas dan warna tengah dengan memanggil metode ini.

Berlaku untuk