PathGradientBrush.SetSigmaBellShape Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает градиентный переход между центральным цветом и первым окружающим цветом на основе колоколообразной кривой.
Перегрузки
SetSigmaBellShape(Single) |
Создает градиентную кисть, которая изменяет цвет, начиная с центра контура, и заканчивая границей контура. Переход от одного цвета к другому выполняется на основе колоколообразной кривой. |
SetSigmaBellShape(Single, Single) |
Создает градиентную кисть, которая изменяет цвет, начиная с центра контура, и заканчивая границей контура. Переход от одного цвета к другому выполняется на основе колоколообразной кривой. |
SetSigmaBellShape(Single)
Создает градиентную кисть, которая изменяет цвет, начиная с центра контура, и заканчивая границей контура. Переход от одного цвета к другому выполняется на основе колоколообразной кривой.
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)
Создает градиентную кисть, которая изменяет цвет, начиная с центра контура, и заканчивая границей контура. Переход от одного цвета к другому выполняется на основе колоколообразной кривой.
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 и требуется PaintEventArgs e
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 несколько цветов, первый цвет в массиве используется для конечного цвета. Цвета, указанные в этом массиве, — это цвета, используемые для дискретных точек на пути границы кисти.
По умолчанию при переходе от границы градиента пути к центральной точке цвет постепенно меняется от цвета границы к центру. Вы можете настроить расположение и смешение границ и центральной цветов, вызвав этот метод.