PathGradientBrush.SetSigmaBellShape Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает градиентное падение между цветом центра и первым окружающим цветом на основе кривой колокола.
Перегрузки
SetSigmaBellShape(Single) |
Создает градиентную кисть, которая изменяет цвет, начиная с центра пути на границу пути. Переход от одного цвета к другому основан на кривой колокола. |
SetSigmaBellShape(Single, Single) |
Создает градиентную кисть, которая изменяет цвет, начиная с центра пути на границу пути. Переход от одного цвета к другому основан на кривой колокола. |
SetSigmaBellShape(Single)
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
Создает градиентную кисть, которая изменяет цвет, начиная с центра пути на границу пути. Переход от одного цвета к другому основан на кривой колокола.
public:
void SetSigmaBellShape(float focus);
public void SetSigmaBellShape (float focus);
member this.SetSigmaBellShape : single -> unit
Public Sub SetSigmaBellShape (focus As Single)
Параметры
- focus
- Single
Значение от 0 до 1, указывающее, где, вдоль любого радиального от центра пути до границы пути, цвет центра будет иметь наивысшую интенсивность. Значение 1 (по умолчанию) помещает самую высокую интенсивность в центр пути.
Примеры
Пример см. в разделе SetSigmaBellShape.
Комментарии
Если в массиве SurroundColors есть несколько цветов, первый цвет в массиве используется для конечного цвета. Цвета, указанные в этом массиве, — это цвета, используемые для дискретных точек на пути границы кисти.
По умолчанию при переходе от границы градиента пути к центру цвет постепенно изменяется от цвета границы к центру. Вы можете настроить расположение и смешение границ и центральной цветов, вызвав этот метод.
Применяется к
SetSigmaBellShape(Single, Single)
- Исходный код:
- PathGradientBrush.cs
- Исходный код:
- PathGradientBrush.cs
Создает градиентную кисть, которая изменяет цвет, начиная с центра пути на границу пути. Переход от одного цвета к другому основан на кривой колокола.
public:
void SetSigmaBellShape(float focus, float scale);
public void SetSigmaBellShape (float focus, float scale);
member this.SetSigmaBellShape : single * single -> unit
Public Sub SetSigmaBellShape (focus As Single, scale As Single)
Параметры
- focus
- Single
Значение от 0 до 1, указывающее, где, вдоль любого радиального от центра пути до границы пути, цвет центра будет иметь наивысшую интенсивность. Значение 1 (по умолчанию) помещает самую высокую интенсивность в центр пути.
- scale
- Single
Значение от 0 до 1, указывающее максимальную интенсивность цвета центра, который смешивается с цветом границы. Значение 1 приводит к максимально возможной интенсивности цвета центра, и это значение по умолчанию.
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
объекта события OnPaint. Код выполняет следующие действия:
Создает графический путь и добавляет в него прямоугольник.
Создает PathGradientBrush из точек пути (в этом примере точки образуют прямоугольник, но это может быть большая часть любой фигуры).
Задает центровый цвет красным и окружающим цветом синий.
Рисует PathGradientBrush на экран перед применением преобразования смешения.
Применяет преобразование смешения к кисти с помощью метода SetSigmaBellShape.
Вызывает метод TranslateTransform для перемещения прямоугольника кисти таким образом, чтобы он не накладывал его на экран ранее.
Рисует прямоугольник преобразованной кисти на экран.
Обратите внимание, что максимальный цвет центра (красный) расположен на полпути от центра пути до границы пути.
public:
void SetSigmaBellShapeExample( 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 blend.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 200, 200 );
// Set the Blend factors and transform the brush.
myPGBrush->SetSigmaBellShape( 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 setting the
// blend and applying the transform.
e->Graphics->FillRectangle( myPGBrush, 10, 10, 300, 300 );
}
public void SetSigmaBellShapeExample(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 blend.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 200, 200);
// Set the Blend factors and transform the brush.
myPGBrush.SetSigmaBellShape(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 setting the
// blend and applying the transform.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300);
}
Public Sub SetSigmaBellShapeExample(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.SetSigmaBellShape(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 setting the
' blend and applying the transform.
e.Graphics.FillRectangle(myPGBrush, 10, 10, 300, 300)
End Sub
Комментарии
Если в массиве SurroundColors есть несколько цветов, первый цвет в массиве используется для конечного цвета. Цвета, указанные в этом массиве, — это цвета, используемые для дискретных точек на пути границы кисти.
По умолчанию при переходе от границы градиента пути к центру цвет постепенно изменяется от цвета границы к центру. Вы можете настроить расположение и смешение границ и центральной цветов, вызвав этот метод.