HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Poligonon és Bezier görbék


Canvas objektum 4. rész

Példaprogram letöltése

6516 bájt

Soron következő cikkünkben a poligonok és Bezier görbék rajzolásának módjával ismerkedhetünk meg, és egy olyan példaprogramot készítünk, amelyben ilyen alakzatokat szerkeszthetünk, hasonlóan a vektorgrafikus rajzolóprogramokban használt módszerhez.
A TPoint típusról már volt szó a cikksorozat első részében. Ez egy rekord típus, amelynek két mezője van: x és y. Ezzel a típussal egy pont koordinátáit tudjuk tárolni. Azoknál az eljárásoknál, amiket most ismertetünk, ez az adattípus központi szerephez jut, sőt az ebből a típusból készített tömbök játsszák a fő szerepet.
var
  pontok: array[0..6] of TPoint;
  p1, p2, p3: TPoint;
...
  Canvas.PolyLine(pontok);
  Canvas.PolyLine([p1, p2, p3]);
A fenti példából már látszik is, hogy melyik lesz az első eljárás, amellyel közelebbről is megismerkedünk. A PolyLine eljárás egy több vonalból álló alakzatot rajzol meg. A pontok koordinátáit TPoint tömbbel kell megadni. A pontokat az első ponttól kezdve sorban összeköti egy-egy egyenessel, aminek megrajzolásához a Pen property tulajdonságait használja. A tömb természetesen lehet dinamikus tömb is, illetve a Slice függvénnyel megadhatjuk egy tömb első néhány elemét is.
A Polygon csupán annyiban tér el a fenti eljárástól, hogy az első és az utolsó pontot is összeköti, így egy zárt alakzatot hozva létre, amit a Brush property-ben megadott tulajdonságok szerint kifest.

Bézier görbék megfelelő kombinálásával tetszőleges alakzatot hozhatunk létre. Gondoljunk például arra, hogy a True Type fontok betűi is Bezier görbékkel vannak leírva.
A legegyszerűbb Bezier görbéhez minimum 4 pont koordinátáira van szükség. Az első pont a görbe kezdőpontja. A második pont, az első ponthoz tartozó ún. kontrollpont, ami a görbe irányát és helyzetét határozza meg. A harmadik pont a végponthoz tartozó kontrollpont, míg az utolsó pont a végpont. Egy Bezier görbe több szakaszból is állhat, de ekkor már elég minden újabb szakasznál további 3-3 pontot megadni, mivel minden szakasz végpontja az előző szakasz kezdőpontja is egyben. A mellékelt példában egy két szakaszból, vagyis 7 pontból álló Bézier görbét szerkeszthetünk.
A PolyBezier eljárás paraméterezése megegyezik a PolyLine és Polygon eljárások paraméterezésével. A PolyBezier eljárás nem módosítja a PenPos értékét, ha ezt szeretnénk elérni, akkor használjuk a PolyBezierTo eljárást. Ennek használata teljes egészében megegyezik a PolyBezier eljáráséval.




Cikksorozat

#IDKategóriaCikk címeSorozat
1166DelphiOsztály hierarchia lekérdezése1. rész
1180DelphiOsztály hierarchia lekérdezése2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 508. oldal

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 |