Compartilhar via


Blend.Factors Propriedade

Definição

Obtém ou define uma matriz de fatores de mesclagem para o gradiente.

public:
 property cli::array <float> ^ Factors { cli::array <float> ^ get(); void set(cli::array <float> ^ value); };
public float[] Factors { get; set; }
member this.Factors : single[] with get, set
Public Property Factors As Single()

Valor da propriedade

Single[]

Uma matriz de fatores de mesclagem que especificam os percentuais da cor inicial e a cor final a ser usada na posição correspondente.

Exemplos

O exemplo de código a seguir demonstra como usar a Blend classe definindo as Factors propriedades e Positions . Este exemplo foi projetado para ser usado com Windows Forms. Cole o código em um formulário que importe o System.Drawing.Drawing2D namespace. Manipule o evento do Paint formulário e chame o DemonstrateBlend método , passando e como PaintEventArgs.

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.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 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

Comentários

Normalmente, os elementos dessa matriz são um valor de 0,0f a 1,0f. Esses elementos especificam os percentuais da cor final e a cor inicial a ser usada na posição de combinação correspondente. Por exemplo, um valor de 0,2 indica que, na posição especificada, a cor combinada é composta por 20% da cor do gradiente final e 80% da cor do gradiente inicial.

Aplica-se a