Štětce a vyplněné obrazce v GDI+
Uzavřený obrazec, například obdélník nebo tři tečky, se skládá z obrysu a interiéru. Obrys je nakreslen perem a interiér je vyplněn štětcem. GDI+ poskytuje několik tříd kartáčů pro vyplnění interiérů uzavřených obrazců: SolidBrush, HatchBrush, TextureBrush, LinearGradientBrusha PathGradientBrush. Všechny tyto třídy dědí z Brush třídy. Následující obrázek znázorňuje obdélník vyplněný plným štětcem a třemi tečkami vyplněnými šrafovacím kartáčem.
Plné štětce
K vyplnění uzavřeného obrazce potřebujete instanci Graphics třídy a objektu Brush. Instance Graphics třídy poskytuje metody, jako FillRectangleFillEllipsea a a Brush ukládá atributy výplně, jako je barva a vzor. Předá Brush se jako jeden z argumentů metodě fill. Následující příklad kódu ukazuje, jak vyplnit tři tečky plnou červenou barvou.
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)
Poznámka:
V předchozím příkladu je štětec typu SolidBrush, který dědí z Brush.
Šrafovací štětce
Když vyplníte obrazec šrafovacím štětcem, zadáte barvu popředí, barvu pozadí a styl šrafování. Barva popředí je barva šrafování.
HatchBrush myHatchBrush =
new HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green);
Dim myHatchBrush As _
New HatchBrush(HatchStyle.Vertical, Color.Blue, Color.Green)
GDI+ poskytuje více než 50 šrafovaných stylů; tři styly zobrazené na následujícím obrázku jsou Horizontal, ForwardDiagonala Cross.
Texturové štětce
Pomocí štětce textury můžete vyplnit obrazec vzorem uloženým v rastrovém obrázku. Předpokládejme například, že následující obrázek je uložen v souboru disku s názvem MyTexture.bmp
.
Následující příklad kódu ukazuje, jak vyplnit tři tečky opakováním obrázku uloženého v MyTexture.bmp
.
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)
Následující obrázek znázorňuje vyplněné tři tečky.
Přechodové štětce
GDI+ poskytuje dva druhy přechodových štětců: lineární a cestu. Pomocí lineárního přechodového štětce můžete vyplnit obrazec barvou, která se postupně mění při procházení obrazce vodorovně, svisle nebo diagonálně. Následující příklad kódu ukazuje, jak vyplnit tři tečky vodorovným přechodovým štětcem, který se při pohybu od levého okraje tří teček k pravému okraji změní z modré na zelenou.
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)
Následující obrázek znázorňuje vyplněné tři tečky.
Štětec přechodu cesty lze nakonfigurovat tak, aby při procházení od středu obrazce směrem k okraji změnil barvu.
Přechodové štětce cesty jsou poměrně flexibilní. Přechodový štětec použitý k vyplnění trojúhelníku na následujícím obrázku se postupně mění z červeného na střed na každou ze tří různých barev na vrcholech.
Viz také
.NET Desktop feedback