GDI+'da Fırçalar ve Dolgulu Şekiller

Dikdörtgen veya üç nokta gibi kapalı bir şekil, ana hat ve iç öğeden oluşur. Ana hat bir kalemle çizilir ve iç kısım bir fırça ile doldurulur. GDI+, kapalı şekillerin iç kısımlarını doldurmak için çeşitli fırça sınıfları sağlar: SolidBrush , , , ve HatchBrushTextureBrushLinearGradientBrushPathGradientBrush . Bu sınıfların hepsi sınıfından Brush devralınır. Aşağıdaki çizimde düz fırça ile doldurulmuş bir dikdörtgen ve tarama fırçasıyla doldurulmuş bir üç nokta gösterilmiştir.

Filled Shapes

Düz Fırçalar

Kapalı bir şekli doldurmak için sınıfının ve örneğinin Graphics bir örneğine ihtiyacınız Brush vardır. sınıfının örneği ve gibi yöntemleri sağlar ve dolgu özniteliklerini (renk ve desen GraphicsFillRectangleFillEllipseBrush gibi) depolar. Brush, fill yöntemine bağımsız değişkenlerinden biri olarak geçirildi. Aşağıdaki kod örneğinde, bir üç noktanın düz kırmızı renkle nasıl doldurulacakları gösterir.

SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40);
Dim mySolidBrush As New SolidBrush(Color.Red)
myGraphics.FillEllipse(mySolidBrush, 0, 0, 60, 40)

Not

Önceki örnekte fırça türündedir ve bu, SolidBrush 'den devralınan'dır. Brush

Tarama Fırçaları

Bir şekli tarama fırçasıyla doldururken ön plan rengi, arka plan rengi ve tarama stili belirtirsiniz. Ön plan rengi taramanın rengidir.

HatchBrush myHatchBrush =
   new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);
Dim myHatchBrush As _
   New HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green)

GDI+ 50'den fazla tarama stili sağlar; aşağıdaki çizimde gösterilen üç stil Horizontal , ForwardDiagonal ve Cross şeklindedir.

Filled Shapes

Doku Fırçaları

Doku fırçası ile bir şekli bit eşlem içinde depolanan bir desenle doldurabilir. Örneğin, aşağıdaki resmin adlı bir disk dosyasında depolanmış olduğunu MyTexture.bmp varsayalım.

Filled Shape

Aşağıdaki kod örneği, içinde depolanan resmi tekrarlayarak bir üç noktanın nasıl doldurulacaklarını MyTexture.bmp gösterir.

Image myImage = Image.FromFile("MyTexture.bmp");
TextureBrush myTextureBrush = new TextureBrush(myImage);
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50);
Dim myImage As Image = Image.FromFile("MyTexture.bmp")
Dim myTextureBrush As New TextureBrush(myImage)
myGraphics.FillEllipse(myTextureBrush, 0, 0, 100, 50)

Aşağıdaki çizimde doldurulmuş üç nokta gösterilmiştir.

Filled Shape

Gradyan Fırçalar

GDI+ iki tür gradyan fırça sağlar: doğrusal ve yol. Doğrusal gradyan fırça kullanarak şekli yatay, dikey veya çapraz olarak hareket ettiyce kademeli olarak değişir renkle doldurarak kullanabilirsiniz. Aşağıdaki kod örneğinde, üç noktanın sol kenarından sağ kenarına ilerleninken maviden yeşile dönen yatay gradyan fırça ile üç noktanın nasıl doldurulacakları açıklanmış.

LinearGradientBrush myLinearGradientBrush = new LinearGradientBrush(
   myRectangle,
   Color.Blue,
   Color.Green,
   LinearGradientMode.Horizontal);
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle);
Dim myLinearGradientBrush As New LinearGradientBrush( _
   myRectangle, _
   Color.Blue, _
   Color.Green, _
   LinearGradientMode.Horizontal)
myGraphics.FillEllipse(myLinearGradientBrush, myRectangle)

Aşağıdaki çizimde doldurulmuş üç nokta gösterilmiştir.

Filled Shape

Bir şeklin merkezinden kenarına doğru ilerlerken renk değiştirmek için yol gradyan fırça yalıtıldı.

Filled Shape

Yol gradyan fırçaları oldukça esnektir. Aşağıdaki çizimde üçgeni doldurmak için kullanılan gradyan fırça, merkezde kırmızıdan köşelerde üç farklı rengin her biri olarak kademeli olarak değişir.

Filled Shape

Ayrıca bkz.