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()
Значение свойства
Массив мест смешения, определяющий доли расстояния по линии градиента.
Примеры
В следующем примере кода показано, как использовать класс , Blend задав Factors свойства и Positions . Этот пример предназначен для использования с 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,2f указывает, что эта точка составляет 20 процентов от общего расстояния от начальной точки. Элементы в этом массиве представлены значениями с плавающей точкой от 0,0f до 1,0f. Первый элемент массива должен иметь значение 0,0f, а последний элемент — 1,0f.