Delphi - Poligon rajzolása

GDI 7. rész

forráskód letöltése

Ebben a részben a poligonok rajzolásának Windows GDI-ben használatos módjairól lesz szó. A mellékelt példában egy kockát fogunk forgatni. Egy kapcsolóval állíthatjuk, hogy a kocka színes oldalai, vagy csak az oldalak körvonalai jelenjenek-e meg. A GDI-ben poligont többféleképpen is rajzolhatunk. Az egyik módszer az, amikor csak a poligon körvonalait szeretnénk megrajzolni, vagyis az alakzat nem lesz kitöltve. Erre használhatjuk a PolyLine függvényt. Ennek paraméterei a következők:
DC: a rajzterület azonosítója (pl. Canvas.Handle).
Points: TPoint típusú elemeket tartalmazó tömb. A tömb elemei adják meg a poligon csúcspontjainak koordinátáit.
Count: a tömb elemeinek száma, vagyis a poligon csúcspontjainak száma. Az első és az utolsó csúcspont nem lesz összekötve, ezért ha zárt alakzatot szeretnénk rajzolni, akkor a tömb utolsó elemének meg kell egyeznie az első elemmel.

A PolyLine függvény párja a Polygon, ami egy kitöltött alakzatot rajzol. Paraméterei ugyanazok, mint a PolyLine-nak, de mivel itt automatikusan zárt alakzat jön létre, ezért a tömb utolsó elemének nem kell megegyeznie az első elemmel.

Ha egyszerre több poligont is ki szeretnénk rajzolni, akkor azt a PolyPolyLine függvénnyel tehetjük meg. Ennek paraméterei a következők:
DC: a rajzterület azonosítója.
PointStructs: TPoint típusú elemeket tartalmazó tömb, ami a poligonok csúcspontjainak koordinátáit tartalmazza.
Points: egy integer tömb, aminek elemei meghatározzák az egyes poligonok csúcspontjainak számát.
p4: a poligonok száma, ami megegyezik a Points paraméterben megadott tömb elemeinek számával.

A fenti függvény párja a PolyPolygon, aminek paraméterezése ugyanaz, viszont ez kitöltött poligonokat rajzol, hasonlóan a Polygon függvényhez.



GDI cikksorozat