PathGradientBrush.SetBlendTriangularShape 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 se středovou barvou a lineárním přechodem na jednu okolní barvu.
Přetížení
SetBlendTriangularShape(Single) |
Vytvoří přechod se středovou barvou a lineárním přechodem na jednu okolní barvu. |
SetBlendTriangularShape(Single, Single) |
Vytvoří přechod se středovou barvou a lineárním přechodem na každou okolní barvu. |
SetBlendTriangularShape(Single)
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
Vytvoří přechod se středovou barvou a lineárním přechodem na jednu okolní barvu.
public:
void SetBlendTriangularShape(float focus);
public void SetBlendTriangularShape (float focus);
member this.SetBlendTriangularShape : single -> unit
Public Sub SetBlendTriangularShape (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 SetBlendTriangularShape.
Poznámky
Pokud je v SurroundColors matici více než jedna barva, použije se první barva pole pro koncovou barvu. Barvy zadané v tomto poli se používají pro diskrétní body na cestě hranice štětce.
Platí pro
SetBlendTriangularShape(Single, Single)
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
- Zdroj:
- PathGradientBrush.cs
Vytvoří přechod se středovou barvou a lineárním přechodem na každou okolní barvu.
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)
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 SetBlendTriangularShape 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 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
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.