다음을 통해 공유


Blend.Positions 속성

정의

그라데이션을 위한 혼합 위치의 배열을 가져오거나 설정합니다.

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

속성 값

Single[]

그라데이션 선을 따라 거리의 백분율을 지정하는 혼합 위치 배열입니다.

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 설정 하 여 BlendFactors 클래스를 및 Positions 속성입니다. 이 예제는 Windows Forms 사용하도록 설계되었습니다. 네임스페이스를 가져오는 양식에 코드를 붙여넣습니다 System.Drawing.Drawing2D . 양식의 Paint 이벤트를 처리하고 메서드를 호출하여 DemonstrateBlendPaintEventArgs전달 e 합니다.

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

설명

이 배열의 요소는 그라데이션 선을 따라 거리의 백분율을 지정합니다. 예를 들어 요소 값 0.2f는 이 지점이 시작점으로부터의 총 거리의 20%임을 지정합니다. 이 배열의 요소는 0.0f에서 1.0f 사이의 float 값으로 표시됩니다. 배열의 첫 번째 요소는 0.0f이고 마지막 요소는 1.0f여야 합니다.

적용 대상