Blend.Positions Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau mengatur array posisi campuran untuk gradien.
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()
Nilai Properti
Array posisi campuran yang menentukan persentase jarak di sepanjang garis gradien.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Blend kelas dengan mengatur Factors properti dan Positions . Contoh ini dirancang untuk digunakan dengan Formulir Windows. Tempelkan kode ke dalam formulir yang mengimpor System.Drawing.Drawing2D namespace. Tangani peristiwa formulir Paint dan panggil DemonstrateBlend
metode , teruskan e
sebagai 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
Keterangan
Elemen array ini menentukan persentase jarak di sepanjang garis gradien. Misalnya, nilai elemen 0,2f menentukan bahwa titik ini adalah 20 persen dari total jarak dari titik awal. Elemen dalam array ini diwakili oleh nilai float antara 0,0f dan 1,0f. Elemen pertama dari array harus 0,0f, dan elemen terakhir harus 1,0f.