HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Tetszőleges háttérrel kitöltött grafikai objektumok rajzolása


Graphics osztály 10. rész

Példaprogram letöltése

5979 bájt

Sorozatunk eddigi részeiben számos olyan függvénnyel foglalkoztunk, mely képes arra, hogy valamilyen grafikai objektumot (ellipszis, téglalap, stb.) rajzoljon ki. Ezeknél mindig csak a körvonal tulajdonságáról rendelkezhettünk és az általuk közrezárt terület átlátszó maradt. Ha objektumaink hátterét szeretnénk valamilyen módon kitölteni (egy szín, színátmenet, kitöltő minta, stb.), akkor erre is van lehetőségünk. Mostani példában sorra vesszük az összes olyan függvényt, mely e feladatra alkalmas.

A függvények eddig a Draw szóval kezdődtek, például DrawEllipse, DrawRectangle. Ha a hátterüket is szeretnénk kitölteni, akkor a Fill kezdetű függvényeket kell használnunk, például FillEllipse, FillRectangle. Ha ismerjük mondjuk a DrawRectangle függvényt, akkor szinte azonnal használni tudjuk a FillRectangle függvényt is, mivel ezeknek paraméter listája csak abban tér el, hogy most nem egy Pen objektumot kell megadni, mely a körvonalat írja le, hanem egy Brush osztályból származott osztály példányát, mely a hátteret adja meg.
A Brush egy absztrakt osztály, melyből az alábbiak származnak:
Brush-ból származott osztályok Leírás
System.Drawing.Drawing2D.HatchBrush előre meghatározott kitöltő minta
System.Drawing.Drawing2D.LinearGradientBrush színátmenet
System.Drawing.Drawing2D.PathGradientBrush speciális színátmenet
System.Drawing.SolidBrush egy szín
System.Drawing.TextureBrush Bitmap kitöltő minta
Ezeket az osztályokat használhatjuk fel a hátterek meghatározásához.
Nézzük most milyen függvények állnak rendelkezésünkre.
FillClosedCurve
Osztály: System.Drawing.Graphics
Overloads Public Sub FillClosedCurve( _
ByVal brush As Brush, _ ByVal points() As Point _
)
A FillClosedCurve függvénnyel úgy rajzolhatunk meg egy görbét, hogy megadjuk azokat a pontokat egy tömbbe, melyeken szeretnénk, hogy a görbe vonala áthaladjon. A megrajzolt görbe kezdő és végpontja is összekötésre kerül, így mindig egy zárt alakzatot kapunk.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As Point
A points paraméterben a görbe sarokpontjait sorolhatjuk fel.
FillClosedCurve
Osztály: System.Drawing.Graphics
Overloads Public Sub FillClosedCurve( _
ByVal brush As Brush, _ ByVal points() As PointF _
)
A FillClosedCurve függvénnyel úgy rajzolhatunk meg egy görbét, hogy megadjuk azokat a pontokat egy tömbbe, melyeken szeretnénk, hogy a görbe vonala áthaladjon. A megrajzolt görbe kezdő és végpontja is összekötésre kerül, így mindig egy zárt alakzatot kapunk.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg a háttért leíró objektumot.
ByVal points() As PointF
A points paraméterben a görbe sarokpontjait sorolhatjuk fel PointF típusban.
FillClosedCurve
Osztály: System.Drawing.Graphics
Overloads Public Sub FillClosedCurve( _
ByVal brush As Brush, _ ByVal points() As Point, _ ByVal fillmode As FillMode _
)
A FillClosedCurve függvénnyel úgy rajzolhatunk meg egy görbét, hogy megadjuk azokat a pontokat egy tömbbe, melyeken szeretnénk, hogy a görbe vonala áthaladjon. A megrajzolt görbe kezdő és végpontja is összekötésre kerül, így mindig egy zárt alakzatot kapunk.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As Point
A points paraméterben a görbe sarokpontjait sorolhatjuk fel.
ByVal fillmode As FillMode
Rajzolás módja, mely Alternate, vagy Winding értéket kaphat.
FillClosedCurve
Osztály: System.Drawing.Graphics
Overloads Public Sub FillClosedCurve( _
ByVal brush As Brush, _ ByVal points() As PointF, _ ByVal fillmode As FillMode _
)
A FillClosedCurve függvénnyel úgy rajzolhatunk meg egy görbét, hogy megadjuk azokat a pontokat egy tömbbe, melyeken szeretnénk, hogy a görbe vonala áthaladjon. A megrajzolt görbe kezdő és végpontja is összekötésre kerül, így mindig egy zárt alakzatot kapunk.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As PointF
A points paraméterben a görbe sarokpontjait sorolhatjuk fel.
ByVal fillmode As FillMode
Rajzolás módja, mely Alternate, vagy Winding értéket kaphat.
FillClosedCurve
Osztály: System.Drawing.Graphics
Overloads Public Sub FillClosedCurve( _
ByVal brush As Brush, _ ByVal points() As Point, _ ByVal fillmode As FillMode, _ ByVal tension As Single _
)
A FillClosedCurve függvénnyel úgy rajzolhatunk meg egy görbét, hogy megadjuk azokat a pontokat egy tömbbe, melyeken szeretnénk, hogy a görbe vonala áthaladjon. A megrajzolt görbe kezdő és végpontja is összekötésre kerül, így mindig egy zárt alakzatot kapunk.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As Point
A points paraméterben a görbe sarokpontjait sorolhatjuk fel.
ByVal fillmode As FillMode
Rajzolás módja, mely Alternate, vagy Winding értéket kaphat.
ByVal tension As Single
A görbe feszességének értéke, mely 0 és 1 közötti érték lehet. Nulla esetén a megadott pontok egyenes vonallakkal lesznek összekötve, míg nullánál minél nagyobb szám esetén a görbe íve is egyre nagyobb lesz.
FillClosedCurve
Osztály: System.Drawing.Graphics
Overloads Public Sub FillClosedCurve( _
ByVal brush As Brush, _ ByVal points() As PointF, _ ByVal fillmode As FillMode, _ ByVal tension As Single _
)
A FillClosedCurve függvénnyel úgy rajzolhatunk meg egy görbét, hogy megadjuk azokat a pontokat egy tömbbe, melyeken szeretnénk, hogy a görbe vonala áthaladjon. A megrajzolt görbe kezdő és végpontja is összekötésre kerül, így mindig egy zárt alakzatot kapunk.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As PointF
A points paraméterben a görbe sarokpontjait sorolhatjuk fel.
ByVal fillmode As FillMode
Rajzolás módja, mely Alternate, vagy Winding értéket kaphat.
ByVal tension As Single
A görbe feszességének értéke, mely 0 és 1 közötti érték lehet. Nulla esetén a megadott pontok egyenes vonallakkal lesznek összekötve, míg nullánál minél nagyobb szám esetén a görbe íve is egyre nagyobb lesz.
FillEllipse
Osztály: System.Drawing.Graphics
Overloads Public Sub FillEllipse( _
ByVal brush As Brush, _ ByVal rect As Rectangle _
)
A FillEllipse függvénnyel egy megadott ecsettel egy adott méretű ellipszis rajzolható.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rect As Rectangle
A rect paraméterben kell megadnunk annak a befoglaló téglalapnak a méreteit Rectangle típusban, mely meghatározza az ellipszis méretét és pozícióját
FillEllipse
Osztály: System.Drawing.Graphics
Overloads Public Sub FillEllipse( _
ByVal brush As Brush, _ ByVal rect As RectangleF _
)
A FillEllipse függvénnyel egy megadott ecsettel egy adott méretű ellipszis rajzolható.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rect As RectangleF
A rect paraméterben kell megadnunk annak a befoglaló téglalapnak a méreteit Rectangle típusban, mely meghatározza az ellipszis méretét és pozícióját
FillEllipse
Osztály: System.Drawing.Graphics
Overloads Public Sub FillEllipse( _
ByVal brush As Brush, _ ByVal x As Integer, _ ByVal y As Integer, _ ByVal width As Integer, _ ByVal height As Integer _
)
A FillEllipse függvénnyel egy megadott ecsettel egy adott méretű ellipszis rajzolható.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal x As Integer
Az x paraméterben kell megadnunk a befoglaló téglalapnak a bal szélét.
ByVal y As Integer
Az y paraméterben kell megadnunk a befoglaló téglalapnak a tetejét.
ByVal width As Integer
A width paraméterben kell megadnunk a befoglaló téglalapnak a szélességét.
ByVal height As Integer
A height paraméterben kell megadnunk a befoglaló téglalapnak a magasságát.
FillEllipse
Osztály: System.Drawing.Graphics
Overloads Public Sub FillEllipse( _
ByVal brush As Brush, _ ByVal x As Single, _ ByVal y As Single, _ ByVal width As Single, _ ByVal height As Single _
)
A FillEllipse függvénnyel egy megadott ecsettel egy adott méretű ellipszis rajzolható.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal x As Single
Az x paraméterben kell megadnunk a befoglaló téglalapnak a bal szélét.
ByVal y As Single
Az y paraméterben kell megadnunk a befoglaló téglalapnak a tetejét.
ByVal width As Single
A width paraméterben kell megadnunk a befoglaló téglalapnak a szélességét.
ByVal height As Single
A height paraméterben kell megadnunk a befoglaló téglalapnak a magasságát.
FillPie
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPie( _
ByVal brush As Brush, _ ByVal rect As Rectangle, _ ByVal startAngle As Single, _ ByVal sweepAngle As Single _
)
Körcikk rajzolására alkalmas a FillPie függvény.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rect As Rectangle
A rect paraméter a kört befoglaló téglalap méretét határozza meg.
ByVal startAngle As Single
A startAngle a körből kivágandó rész szögét határozza meg. A kivágás mindig a nulla fok és az itt megadott fok között történik.
ByVal sweepAngle As Single
A sweepAngle paraméterben megadott szöggel forgathatjuk el a grafikát, így a kivágott részt bárhol elhelyezhetjük a körben.
FillPie
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPie( _
ByVal brush As Brush, _ ByVal x As Integer, _ ByVal y As Integer, _ ByVal width As Integer, _ ByVal height As Integer, _ ByVal startAngle As Integer, _ ByVal sweepAngle As Integer _
)
Körcikk rajzolására alkalmas a FillPie függvény.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal x As Integer
A kirajzolandó kört befoglaló téglalap bal szélét adhatjuk meg az x paraméterben.
ByVal y As Integer
A kirajzolandó kört befoglaló téglalap tetejét adhatjuk meg az y paraméterben.
ByVal width As Integer
A kirajzolandó kört befoglaló téglalap szélességét adhatjuk meg a width paraméterben.
ByVal height As Integer
A kirajzolandó kört befoglaló téglalap magasságát adhatjuk meg a height paraméterben.
ByVal startAngle As Integer
A startAngle a körből kivágandó rész szögét határozza meg. A kivágás mindig a nulla fok és az itt megadott fok között történik.
ByVal sweepAngle As Integer
A sweepAngle paraméterben megadott szöggel forgathatjuk el a grafikát, így a kivágott részt bárhol elhelyezhetjük a körben.
FillPie
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPie( _
ByVal brush As Brush, _ ByVal x As Single, _ ByVal y As Single, _ ByVal width As Single, _ ByVal height As Single, _ ByVal startAngle As Single, _ ByVal sweepAngle As Single _
)
Körcikk rajzolására alkalmas a FillPie függvény.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal x As Single
A kirajzolandó kört befoglaló téglalap bal szélét adhatjuk meg az x paraméterben.
ByVal y As Single
A kirajzolandó kört befoglaló téglalap tetejét adhatjuk meg az y paraméterben.
ByVal width As Single
A kirajzolandó kört befoglaló téglalap szélességét adhatjuk meg a width paraméterben.
ByVal height As Single
A kirajzolandó kört befoglaló téglalap magasságát adhatjuk meg a height paraméterben.
ByVal startAngle As Single
A startAngle a körből kivágandó rész szögét határozza meg. A kivágás mindig a nulla fok és az itt megadott fok között történik.
ByVal sweepAngle As Single
A sweepAngle paraméterben megadott szöggel forgathatjuk el a grafikát, így a kivágott részt bárhol elhelyezhetjük a körben.
FillPolygon
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPolygon( _
ByVal brush As Brush, _ ByVal points() As Point _
)
A FillPolygon függvény segítségével több pont között rajzolhatunk egyeneseket úgy, hogy az első egyenes végpontja egybeesik a következő egyenes kezdőpontjával, illetve az utolsó egyenes végpontja automatikusan összekötésre kerül az első egyenes kezdőpontjával.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As Point
A points tömbben kell felsorolni azokat a koordináta pontokat, melyek között szeretnénk egyeneseket húzni. A rajzolás a tömbben lévő sorrend alapján történik.
FillPolygon
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPolygon( _
ByVal brush As Brush, _ ByVal points() As PointF _
)
A FillPolygon függvény segítségével több pont között rajzolhatunk egyeneseket úgy, hogy az első egyenes végpontja egybeesik a következő egyenes kezdőpontjával, illetve az utolsó egyenes végpontja automatikusan összekötésre kerül az első egyenes kezdőpontjával.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As PointF
A points tömbben kell felsorolni azokat a koordináta pontokat, melyek között szeretnénk egyeneseket húzni. A rajzolás a tömbben lévő sorrend alapján történik.
FillPolygon
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPolygon( _
ByVal brush As Brush, _ ByVal points() As Point, _ ByVal fillMode As FillMode _
)
A FillPolygon függvény segítségével több pont között rajzolhatunk egyeneseket úgy, hogy az első egyenes végpontja egybeesik a következő egyenes kezdőpontjával, illetve az utolsó egyenes végpontja automatikusan összekötésre kerül az első egyenes kezdőpontjával.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As Point
A points tömbben kell felsorolni azokat a koordináta pontokat, melyek között szeretnénk egyeneseket húzni. A rajzolás a tömbben lévő sorrend alapján történik.
ByVal fillMode As FillMode
Rajzolás módja, mely Alternate, vagy Winding értéket kaphat.
FillPolygon
Osztály: System.Drawing.Graphics
Overloads Public Sub FillPolygon( _
ByVal brush As Brush, _ ByVal points() As PointF, _ ByVal fillMode As FillMode _
)
A FillPolygon függvény segítségével több pont között rajzolhatunk egyeneseket úgy, hogy az első egyenes végpontja egybeesik a következő egyenes kezdőpontjával, illetve az utolsó egyenes végpontja automatikusan összekötésre kerül az első egyenes kezdőpontjával.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal points() As PointF
A points tömbben kell felsorolni azokat a koordináta pontokat, melyek között szeretnénk egyeneseket húzni. A rajzolás a tömbben lévő sorrend alapján történik.
ByVal fillMode As FillMode
Rajzolás módja, mely Alternate, vagy Winding értéket kaphat.
FillRectangle
Osztály: System.Drawing.Graphics
Overloads Public Sub FillRectangle( _
ByVal brush As Brush, _ ByVal rect As Rectangle _
)
A FillRectangle függvény egy adott méretű téglalapot rajzol meg, melynek háttere kitöltött.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rect As Rectangle
A rect paraméterben kell megadnunk a téglalapnak a pozícióját és méreteit Rectangle típusban.
FillRectangle
Osztály: System.Drawing.Graphics
Overloads Public Sub FillRectangle( _
ByVal brush As Brush, _ ByVal rect As RectangleF _
)
A FillRectangle függvény egy adott méretű téglalapot rajzol meg, melynek háttere kitöltött.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rect As RectangleF
A rect paraméterben kell megadnunk a téglalapnak a pozícióját és méreteit Rectangle típusban.
FillRectangle
Osztály: System.Drawing.Graphics
Overloads Public Sub FillRectangle( _
ByVal brush As Brush, _ ByVal x As Integer, _ ByVal y As Integer, _ ByVal width As Integer, _ ByVal height As Integer _
)
A FillRectangle függvény egy adott méretű téglalapot rajzol meg, melynek háttere kitöltött.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal x As Integer
Az x paraméterben kell megadnunk a téglalapnak a bal szélét.
ByVal y As Integer
Az y paraméterben kell megadnunk a téglalapnak a tetejét.
ByVal width As Integer
A width paraméterben kell megadnunk a téglalapnak a szélességét.
ByVal height As Integer
A height paraméterben kell megadnunk a téglalapnak a magasságát.
FillRectangle
Osztály: System.Drawing.Graphics
Overloads Public Sub FillRectangle( _
ByVal brush As Brush, _ ByVal x As Single, _ ByVal y As Single, _ ByVal width As Single, _ ByVal height As Single _
)
A FillRectangle függvény egy adott méretű téglalapot rajzol meg, melynek háttere kitöltött.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal x As Single
Az x paraméterben kell megadnunk a téglalapnak a bal szélét.
ByVal y As Single
Az y paraméterben kell megadnunk a téglalapnak a tetejét.
ByVal width As Single
A width paraméterben kell megadnunk a téglalapnak a szélességét.
ByVal height As Single
A height paraméterben kell megadnunk a téglalapnak a magasságát.
FillRectangles
Osztály: System.Drawing.Graphics
Overloads Public Sub FillRectangles( _
ByVal brush As Brush, _ ByVal rects() As Rectangle _
)
A FillRectangles függvénnyel tetszőleges számú és méretű téglalapot rajzolhatunk meg.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rects() As Rectangle
A kirajzolandó téglalapokat leíró tömböt a rects paraméterben kell megadnunk. A tömb minden eleme egy Rectangle típusban írja le az adott téglalap pozícióját és méretét.
FillRectangles
Osztály: System.Drawing.Graphics
Overloads Public Sub FillRectangles( _
ByVal brush As Brush, _ ByVal rects() As RectangleF _
)
A FillRectangles függvénnyel tetszőleges számú és méretű téglalapot rajzolhatunk meg.
Paraméterek
ByVal brush As Brush
A brush paraméterben adhatjuk meg háttért leíró objektumot.
ByVal rects() As RectangleF
A kirajzolandó téglalapokat leíró tömböt a rects paraméterben kell megadnunk. A tömb minden eleme egy RectangleF típusban írja le az adott téglalap pozícióját és méretét.

Cikksorozat



Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |