Blend.Factors 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定漸層的漸變因數陣列。
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()
屬性值
Single[]
漸變因數的陣列,指定要在對應位置使用的開始色彩和結束色彩的百分比。
範例
下列程式碼範例示範如何藉由設定 Factors 和 Positions 屬性來 Blend 使用 類別。 此範例的設計目的是要與Windows Forms搭配使用。 將程式碼貼入匯入命名空間的 System.Drawing.Drawing2D 表單。 處理表單的事件 Paint ,並呼叫 DemonstrateBlend
方法,傳遞 e
為 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
備註
一般而言,此陣列的專案是從 0.0f 到 1.0f 的值。 這些元素會指定結束色彩的百分比,以及要用於對應混合位置的開始色彩。 例如,值為 0.2 表示在指定的位置,混合色彩是由結束漸層色彩的 20% 和起始漸層色彩的 80% 所組成。