Aracılığıyla paylaş


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

Dikdörtgen veya üç nokta gibi kapalı bir şekil, ana hat ve iç kısımdan 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, HatchBrush, TextureBrush, LinearGradientBrushve PathGradientBrush. Bu sınıfların tümü sınıfından devralır Brush . Aşağıdaki çizimde düz fırçayla doldurulmuş bir dikdörtgen ve tarama fırçasıyla doldurulmuş bir elips gösterilmektedir.

Screenshot of a rectangle filled with a solid brush and an ellipse filled with a hatch brush.

Düz Fırçalar

Kapalı bir şekli doldurmak için sınıfının bir örneğine Graphics ve öğesine Brushihtiyacınız vardır. sınıfının örneği Graphics ve FillEllipsegibi FillRectangle yöntemler sağlar ve Brush dolgunun renk ve desen gibi özniteliklerini depolar. Brush, doldurma yöntemine bağımsız değişkenlerden biri olarak geçirilir. Aşağıdaki kod örneğinde üç noktanın düz kırmızı renkle nasıl doldurulduğu gösterilmektedir.

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)

Dekont

Yukarıdaki örnekte fırça türündedir SolidBrushve öğesinden Brushdevralınır.

Tarama Fırçaları

Bir şekli tarama fırçasıyla doldurduğunuzda, ö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 , ForwardDiagonalve CrossşeklindedirHorizontal.

Screenshot of three ellipses that are filled with a horizontal hatch brush, forward diagonal hatch brush, and a cross hatch brush.

Doku Fırçaları

Doku fırçasıyla, bir şekli bit eşlem içinde depolanan bir desenle doldurabilirsiniz. Örneğin, aşağıdaki resmin adlı MyTexture.bmpbir disk dosyasında depolandığını varsayalım.

Screenshot of the My Texture dot b m p file.

Aşağıdaki kod örneği, içinde MyTexture.bmpdepolanan resmi yineleyerek üç noktanın nasıl doldurulduğunu 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, dolu üç nokta gösterilmektedir.

Screenshot of an ellipse that is filled with a texture brush.

Gradyan Fırçalar

GDI+ iki tür gradyan fırçası sağlar: doğrusal ve yol. Bir şekli yatay, dikey veya çapraz olarak hareket ettikçe yavaş yavaş değişen bir renkle doldurmak için doğrusal gradyan fırça kullanabilirsiniz. Aşağıdaki kod örneğinde üç noktanın sol kenarından sağ kenara doğru ilerlediğinizde maviden yeşile değişen yatay gradyan fırçayla nasıl doldurulduğu gösterilmektedir.

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, dolu üç nokta gösterilmektedir.

Screenshot of an ellipse filled with a horizontal gradient brush.

Yol gradyan fırçası, şeklin ortasından kenara doğru ilerlerken rengi değiştirecek şekilde yapılandırılabilir.

Screenshot of an ellipse filled with a path gradient brush.

Yol gradyan fırçaları oldukça esnek. Aşağıdaki çizimde üçgeni doldurmak için kullanılan gradyan fırçası, ortadaki kırmızıdan köşelerdeki üç farklı rengin her birine aşamalı olarak değişir.

Screenshot of a triangle filled with a path gradient brush.

Ayrıca bkz.