PathGradientBrush.SetSigmaBellShape Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Çan şeklindeki eğriyi temel alarak orta renk ile çevresindeki ilk renk arasında gradyan bir düşüş oluşturur.
Aşırı Yüklemeler
SetSigmaBellShape(Single) |
Yolun ortasından başlayıp yolun sınırına kadar renk değiştiren bir gradyan fırçası oluşturur. Bir renkten diğerine geçiş, çan şeklindeki eğriyi temel alır. |
SetSigmaBellShape(Single, Single) |
Yolun ortasından başlayıp yolun sınırına kadar renk değiştiren bir gradyan fırçası oluşturur. Bir renkten diğerine geçiş, çan şeklindeki eğriyi temel alır. |
SetSigmaBellShape(Single)
- Kaynak:
- PathGradientBrush.cs
- Kaynak:
- PathGradientBrush.cs
Yolun ortasından başlayıp yolun sınırına kadar renk değiştiren bir gradyan fırçası oluşturur. Bir renkten diğerine geçiş, çan şeklindeki eğriyi temel alır.
public:
void SetSigmaBellShape(float focus);
public void SetSigmaBellShape (float focus);
member this.SetSigmaBellShape : single -> unit
Public Sub SetSigmaBellShape (focus As Single)
Parametreler
- focus
- Single
0 ile 1 arasında bir değer, yolun ortasından yolun sınırına kadar herhangi bir radyal boyunca orta rengin en yüksek yoğunluğunda olacağını belirtir. 1 değeri (varsayılan) en yüksek yoğunluğu yolun ortasına yerleştirir.
Örnekler
Bir örnek için bkz. SetSigmaBellShape.
Açıklamalar
SurroundColors dizisinde birden fazla renk varsa, dizideki ilk renk bitiş rengi için kullanılır. Bu dizide belirtilen renkler, fırçanın sınır yolundaki ayrık noktalar için kullanılan renklerdir.
Varsayılan olarak, yol gradyanının sınırından orta noktaya ilerlerken renk, sınır renginden orta renge aşamalı olarak değişir. Bu yöntemi çağırarak sınır ve orta renklerin konumlandırma ve karıştırmasını özelleştirebilirsiniz.
Şunlara uygulanır
SetSigmaBellShape(Single, Single)
- Kaynak:
- PathGradientBrush.cs
- Kaynak:
- PathGradientBrush.cs
Yolun ortasından başlayıp yolun sınırına kadar renk değiştiren bir gradyan fırçası oluşturur. Bir renkten diğerine geçiş, çan şeklindeki eğriyi temel alır.
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)
Parametreler
- focus
- Single
0 ile 1 arasında bir değer, yolun ortasından yolun sınırına kadar herhangi bir radyal boyunca orta rengin en yüksek yoğunluğunda olacağını belirtir. 1 değeri (varsayılan) en yüksek yoğunluğu yolun ortasına yerleştirir.
- scale
- Single
Sınır rengiyle karıştırılan orta rengin maksimum yoğunluğunu belirten 0 ile 1 arasında bir değer. 1 değeri, orta rengin mümkün olan en yüksek yoğunluğuna neden olur ve varsayılan değerdir.
Örnekler
Aşağıdaki kod örneği, Windows Forms ile kullanılmak üzere tasarlanmıştır ve OnPaint bir olay nesnesi PaintEventArgse
gerektirir. Kod aşağıdaki eylemleri gerçekleştirir:
Bir grafik yolu oluşturur ve buna bir dikdörtgen ekler.
Yol noktalarından bir PathGradientBrush oluşturur (bu örnekte, noktalar bir dikdörtgen oluşturur, ancak çoğu şekil olabilir).
Orta rengi kırmızıya, çevresindeki rengi maviye ayarlar.
Blend dönüşümünü uygulamadan önce PathGradientBrush ekrana çizer.
SetSigmaBellShape yöntemini kullanarak blend dönüşümünü fırçaya uygular.
Fırça dikdörtgenini daha önce ekrana çizilen dikdörtgeni kaplamaz şekilde taşımak için TranslateTransform yöntemini çağırır.
Dönüştürülmüş fırça dikdörtgenini ekrana çizer.
En büyük orta rengin (kırmızı) yolun ortasından yol sınırına kadar yarı yolda bulunduğuna dikkat edin.
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
Açıklamalar
SurroundColors dizisinde birden fazla renk varsa, dizideki ilk renk bitiş rengi için kullanılır. Bu dizide belirtilen renkler, fırçanın sınır yolundaki ayrık noktalar için kullanılan renklerdir.
Varsayılan olarak, yol gradyanının sınırından orta noktaya ilerlerken renk, sınır renginden orta renge aşamalı olarak değişir. Bu yöntemi çağırarak sınır ve orta renklerin konumlandırma ve karıştırmasını özelleştirebilirsiniz.