PathGradientBrush.SetSigmaBellShape Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří přechod mezi středovou barvou a první okolní barvou na základě křivky ve tvaru zvonu.
Přetížení
SetSigmaBellShape(Single) |
Vytvoří přechodový štětec, který změní barvu od středu cesty směrem ven na hranici cesty. Přechod z jedné barvy na jinou je založen na křivkě tvaru zvonu. |
SetSigmaBellShape(Single, Single) |
Vytvoří přechodový štětec, který změní barvu od středu cesty směrem ven na hranici cesty. Přechod z jedné barvy na jinou je založen na křivkě tvaru zvonu. |
SetSigmaBellShape(Single)
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
Vytvoří přechodový štětec, který změní barvu od středu cesty směrem ven na hranici cesty. Přechod z jedné barvy na jinou je založen na křivkě tvaru zvonu.
public:
void SetSigmaBellShape(float focus);
public void SetSigmaBellShape (float focus);
member this.SetSigmaBellShape : single -> unit
Public Sub SetSigmaBellShape (focus As Single)
Parametry
- focus
- Single
Hodnota od 0 do 1, která určuje, kde bude podél libovolného paprsku od středu cesty k hranici cesty, bude středová barva ve své nejvyšší intenzitě. Hodnota 1 (výchozí) umístí nejvyšší intenzitu na střed cesty.
Příklady
Příklad najdete v tématu SetSigmaBellShape.
Poznámky
Pokud je v SurroundColors matici více než jedna barva, použije se první barva pole pro koncovou barvu. Barvy zadané v této matici jsou barvy používané pro diskrétní body na cestě hranice štětce.
Ve výchozím nastavení se při přechodu z hranice cesty na středový bod barva postupně mění od barvy hranic na středovou barvu. Umístění a prolnutí barev hranic a středu můžete přizpůsobit voláním této metody.
Platí pro
SetSigmaBellShape(Single, Single)
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
Vytvoří přechodový štětec, který změní barvu od středu cesty směrem ven na hranici cesty. Přechod z jedné barvy na jinou je založen na křivkě tvaru zvonu.
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)
Parametry
- focus
- Single
Hodnota od 0 do 1, která určuje, kde bude podél libovolného paprsku od středu cesty k hranici cesty, bude středová barva ve své nejvyšší intenzitě. Hodnota 1 (výchozí) umístí nejvyšší intenzitu na střed cesty.
- scale
- Single
Hodnota od 0 do 1, která určuje maximální intenzitu středové barvy, která se spojí s barvou hranic. Hodnota 1 způsobí nejvyšší možnou intenzitu středové barvy a je to výchozí hodnota.
Příklady
Následující příklad kódu je určen pro použití s Windows Forms a vyžaduje PaintEventArgse
, OnPaint objekt události. Kód provede následující akce:
Vytvoří grafickou cestu a přidá do ní obdélník.
Vytvoří PathGradientBrush z bodů cesty (v tomto příkladu body tvoří obdélník, ale může to být většina obrazců).
Nastaví středovou barvu na červenou a okolní barvu na modrou.
Nakreslí PathGradientBrush na obrazovku před použitím transformace blendu.
Použije transformaci blendu na štětec pomocí jeho SetSigmaBellShape metody.
Zavolá metodu TranslateTransform, která přesune obdélník štětce tak, aby nepřekryje ten, který byl nakreslen na obrazovku dříve.
Nakreslí transformovaný obdélník štětce na obrazovku.
Všimněte si, že maximální barva středu (červená) se nachází napůl od středu cesty k hranici cesty.
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
Poznámky
Pokud je v SurroundColors matici více než jedna barva, použije se první barva pole pro koncovou barvu. Barvy zadané v této matici jsou barvy používané pro diskrétní body na cestě hranice štětce.
Ve výchozím nastavení se při přechodu z hranice cesty na středový bod barva postupně mění od barvy hranic na středovou barvu. Umístění a prolnutí barev hranic a středu můžete přizpůsobit voláním této metody.