Freigeben über


Blend.Factors-Eigenschaft

Ruft ein Array von Übergangsfaktoren für den Farbverlauf ab, oder legt dieses fest.

Namespace: System.Drawing.Drawing2D
Assembly: System.Drawing (in system.drawing.dll)

Syntax

'Declaration
Public Property Factors As Single()
'Usage
Dim instance As Blend
Dim value As Single()

value = instance.Factors

instance.Factors = value
public float[] Factors { get; set; }
public:
property array<float>^ Factors {
    array<float>^ get ();
    void set (array<float>^ value);
}
/** @property */
public float[] get_Factors ()

/** @property */
public void set_Factors (float[] value)
public function get Factors () : float[]

public function set Factors (value : float[])

Eigenschaftenwert

Ein Array von Übergangsfaktoren, die die Prozentsätze der Anfangs- und Endfarbe angeben, die an der entsprechenden Position verwendet werden.

Hinweise

In der Regel sind die Elemente dieses Arrays Werte von 0.0f bis 1.0f. Diese Elemente geben die Prozentsätze der End- und Anfangsfarbe an, die an der entsprechenden Übergangsposition verwendet werden. Ein Wert von 0.2 bedeutet z. B., dass an der angegebenen Position die Farbmischung zu 20 Prozent aus der Endfarbe und zu 80 Prozent aus der Anfangsfarbe des Farbverlaufs besteht.

Beispiel

Im folgenden Codebeispiel wird die Verwendung der Blend-Klasse durch Festlegen der Factors-Eigenschaft und der Positions-Eigenschaft veranschaulicht. Dieses Beispiel ist für die Verwendung mit Windows Forms vorgesehen. Fügen Sie den Code in ein Formular ein, das den System.Drawing.Drawing2D-Namespace importiert. Behandeln Sie das Paint-Ereignis des Formulars, und rufen Sie die DemonstrateBlend-Methode auf, wobei Sie e als PaintEventArgs übergeben.

Private Sub DemonstrateBlend(ByVal e As PaintEventArgs)
    Dim blend1 As New Blend(9)

    ' Set the values in the Factors array to be all green, 
    ' go to all blue, and then go back to green.
    blend1.Factors = New Single() {0.0F, 0.2F, 0.5F, 0.7F, 1.0F, _
        0.7F, 0.5F, 0.2F, 0.0F}

    ' Set the positions.
    blend1.Positions = New Single() {0.0F, 0.1F, 0.3F, 0.4F, 0.5F, _
        0.6F, 0.7F, 0.8F, 1.0F}

    ' Declare a rectangle to draw the Blend in.
    Dim rectangle1 As New Rectangle(10, 10, 120, 100)

    ' Create a new LinearGradientBrush using the rectangle, 
    ' green and blue. and 90-degree angle.
    Dim brush1 As New LinearGradientBrush(rectangle1, _
        Color.LightGreen, Color.Blue, 90, True)

    ' Set the Blend property on the brush to the custom blend.
    brush1.Blend = blend1

    ' Fill in an ellipse with the brush.
    e.Graphics.FillEllipse(brush1, rectangle1)

    ' Dispose of the custom brush.
    brush1.Dispose()
End Sub
private void DemonstrateBlend(PaintEventArgs e)
{
    Blend blend1 = new Blend(9);

    // Set the values in the Factors array to be all green, 
    // go to all blue, and then go back to green.
    blend1.Factors = new float[]{0.0F, 0.2F, 0.5F, 0.7F, 1.0F, 
                                    0.7F, 0.5F, 0.2F, 0.0F};

    // Set the positions.
    blend1.Positions = 
        new float[]{0.0F, 0.1F, 0.3F, 0.4F, 0.5F, 0.6F, 
        0.7F, 0.8F, 1.0F};

    // Declare a rectangle to draw the Blend in.
    Rectangle rectangle1 = new Rectangle(10, 10, 120, 100);

    // Create a new LinearGradientBrush using the rectangle, 
    // green and blue. and 90-degree angle.
    LinearGradientBrush brush1 = 
        new LinearGradientBrush(rectangle1, Color.LightGreen, 
        Color.Blue, 90, true);

    // Set the Blend property on the brush to the custom blend.
    brush1.Blend = blend1;

    // Fill in an ellipse with the brush.
    e.Graphics.FillEllipse(brush1, rectangle1);

    // Dispose of the custom brush.
    brush1.Dispose();
}
private:
   void DemonstrateBlend( PaintEventArgs^ e )
   {
      Blend^ blend1 = gcnew Blend( 9 );

      // Set the values in the Factors array to be all green, 
      // go to all blue, and then go back to green.
      array<Single>^temp0 = {0.0F,0.2F,0.5F,0.7F,1.0F,0.7F,0.5F,0.2F,0.0F};
      blend1->Factors = temp0;

      // Set the positions.
      array<Single>^temp1 = {0.0F,0.1F,0.3F,0.4F,0.5F,0.6F,0.7F,0.8F,1.0F};
      blend1->Positions = temp1;

      // Declare a rectangle to draw the Blend in.
      Rectangle rectangle1 = Rectangle(10,10,120,100);

      // Create a new LinearGradientBrush using the rectangle, 
      // green and blue. and 90-degree angle.
      LinearGradientBrush^ brush1 = gcnew LinearGradientBrush( rectangle1,Color::LightGreen,Color::Blue,90,true );

      // Set the Blend property on the brush to the custom blend.
      brush1->Blend = blend1;

      // Fill in an ellipse with the brush.
      e->Graphics->FillEllipse( brush1, rectangle1 );

      // Dispose of the custom brush.
      delete brush1;
   }
private void DemonstrateBlend(PaintEventArgs e)
{
    Blend blend1 = new Blend(9);

    // Set the values in the Factors array to be all green, 
    // go to all blue, and then go back to green.
    blend1.set_Factors(new float[] { 0.0F, 0.2F, 0.5F, 0.7F, 1.0F, 0.7F,
        0.5F, 0.2F, 0.0F });

    // Set the positions.
    blend1.set_Positions(new float[] { 0.0F, 0.1F, 0.3F, 0.4F, 0.5F, 0.6F,
        0.7F, 0.8F, 1.0F });

    // Declare a rectangle to draw the Blend in.
    Rectangle rectangle1 = new Rectangle(10, 10, 120, 100);

    // Create a new LinearGradientBrush using the rectangle, 
    // green and blue. and 90-degree angle.
    LinearGradientBrush brush1 = new LinearGradientBrush(rectangle1,
                                Color.get_LightGreen(), Color.get_Blue(),
                                90, true);

    // Set the Blend property on the brush to the custom blend.
    brush1.set_Blend(blend1);

    // Fill in an ellipse with the brush.
    e.get_Graphics().FillEllipse(brush1, rectangle1);

    // Dispose of the custom brush.
    brush1.Dispose();
} //DemonstrateBlend

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Blend-Klasse
Blend-Member
System.Drawing.Drawing2D-Namespace