PathGradientBrush.SetBlendTriangularShape Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает градиент с цветом центра и линейным откатом к одному окружающему цвету.
Перегрузки
SetBlendTriangularShape(Single) |
Создает градиент с цветом центра и линейным откатом к одному окружающему цвету. |
SetBlendTriangularShape(Single, Single) |
Создает градиент с цветом центра и линейным откатом к каждому окружающему цвету. |
SetBlendTriangularShape(Single)
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
Создает градиент с цветом центра и линейным откатом к одному окружающему цвету.
public:
void SetBlendTriangularShape(float focus);
public void SetBlendTriangularShape (float focus);
member this.SetBlendTriangularShape : single -> unit
Public Sub SetBlendTriangularShape (focus As Single)
Параметры
- focus
- Single
Значение от 0 до 1, указывающее, где, вдоль любого радиального от центра пути до границы пути, цвет центра будет иметь наивысшую интенсивность. Значение 1 (по умолчанию) помещает самую высокую интенсивность в центр пути.
Примеры
Пример см. в разделе SetBlendTriangularShape.
Комментарии
Если в массиве SurroundColors есть несколько цветов, первый цвет в массиве используется для конечного цвета. Цвета, указанные в этом массиве, используются для дискретных точек на пути границы кисти.
Применяется к
SetBlendTriangularShape(Single, Single)
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
Создает градиент с цветом центра и линейным откатом к каждому окружающему цвету.
public:
void SetBlendTriangularShape(float focus, float scale);
public void SetBlendTriangularShape (float focus, float scale);
member this.SetBlendTriangularShape : single * single -> unit
Public Sub SetBlendTriangularShape (focus As Single, scale As Single)
Параметры
- focus
- Single
Значение от 0 до 1, указывающее, где, вдоль любого радиального от центра пути до границы пути, цвет центра будет иметь наивысшую интенсивность. Значение 1 (по умолчанию) помещает самую высокую интенсивность в центр пути.
- scale
- Single
Значение от 0 до 1, указывающее максимальную интенсивность цвета центра, который смешивается с цветом границы. Значение 1 приводит к максимально возможной интенсивности цвета центра, и это значение по умолчанию.
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
объекта события OnPaint. Код выполняет следующие действия:
Создает графический путь и добавляет в него прямоугольник.
Создает PathGradientBrush из точек пути (в этом примере точки образуют прямоугольник, но это может быть большая часть любой фигуры).
Задает центровый цвет красным и окружающим цветом синий.
Рисует PathGradientBrush на экран перед применением преобразования смешения.
Применяет преобразование смешения к кисти с помощью метода SetBlendTriangularShape.
Вызывает метод TranslateTransform для перемещения прямоугольника кисти таким образом, чтобы он не накладывал его на экран ранее.
Рисует прямоугольник преобразованной кисти на экране.
Обратите внимание, что максимальный цвет центра (красный) расположен на полпути от центра пути до границы пути.
public:
void SetBlendTriangularShapeExample( PaintEventArgs^ e )
{
// Create a graphics path and add a rectangle.
GraphicsPath^ myPath = gcnew GraphicsPath;
Rectangle rect = Rectangle(100,20,100,50);
myPath->AddRectangle( rect );
// Get the path's array of points.
array<PointF>^myPathPointArray = myPath->PathPoints;
// Create a path gradient brush.
PathGradientBrush^ myPGBrush = gcnew PathGradientBrush( myPathPointArray );
// Set the color span.
myPGBrush->CenterColor = Color::Red;
array<Color>^ mySurroundColor = {Color::Blue};
myPGBrush->SurroundColors = mySurroundColor;
// Draw the brush to the screen prior to the blend.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 200 );
// Set the Blend factors.
myPGBrush->SetBlendTriangularShape( 0.5f, 1.0f );
// Move the brush down by 100 by Applying the translate
// transform to the brush.
myPGBrush->TranslateTransform( 0, 100, MatrixOrder::Append );
// Draw the brush to the screen again after applying the
// transforms.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 300, 300 );
}
public void SetBlendTriangularShapeExample(PaintEventArgs e)
{
// Create a graphics path and add a rectangle.
GraphicsPath myPath = new GraphicsPath();
Rectangle rect = new Rectangle(100, 20, 100, 50);
myPath.AddRectangle(rect);
// Get the path's array of points.
PointF[] myPathPointArray = myPath.PathPoints;
// Create a path gradient brush.
PathGradientBrush myPGBrush = new
PathGradientBrush(myPathPointArray);
// Set the color span.
myPGBrush.CenterColor = Color.Red;
Color[] mySurroundColor = {Color.Blue};
myPGBrush.SurroundColors = mySurroundColor;
// Draw the brush to the screen prior to the blend.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);
// Set the Blend factors.
myPGBrush.SetBlendTriangularShape(0.5f, 1.0f);
// Move the brush down by 100 by Applying the translate
// transform to the brush.
myPGBrush.TranslateTransform(0, 100, MatrixOrder.Append);
// Draw the brush to the screen again after applying the
// transforms.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300);
}
Public Sub SetBlendTriangularShapeExample(ByVal e As PaintEventArgs)
' Create a graphics path and add a rectangle.
Dim myPath As New GraphicsPath
Dim rect As New Rectangle(100, 20, 100, 50)
myPath.AddRectangle(rect)
' Get the path's array of points.
Dim myPathPointArray As PointF() = myPath.PathPoints
' Create a path gradient brush.
Dim myPGBrush As New PathGradientBrush(myPathPointArray)
' Set the color span.
myPGBrush.CenterColor = Color.Red
Dim mySurroundColor As Color() = {Color.Blue}
myPGBrush.SurroundColors = mySurroundColor
' Draw the brush to the screen prior to blend.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200)
' Set the Blend factors.
myPGBrush.SetBlendTriangularShape(0.5F, 1.0F)
' Move the brush down by 100 by Applying the translate
' transform to the brush.
myPGBrush.TranslateTransform(0, 100, MatrixOrder.Append)
' Draw the brush to the screen again after applying the
' transforms.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300)
End Sub
Комментарии
Если в массиве SurroundColors есть несколько цветов, первый цвет в массиве используется для конечного цвета. Цвета, указанные в этом массиве, — это цвета, используемые для дискретных точек на пути границы кисти.
По умолчанию при переходе от границы градиента пути к центру цвет постепенно изменяется от цвета границы к центру. Вы можете настроить расположение и смешение границ и центральной цветов, вызвав этот метод.