HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Grafika létrehozása Corel Draw-ban


Corel 3. rész

Példaprogram letöltése

7901 bájt

Soron következő CorelDraw példánkban rajzolni fogunk, valamint megnézzük, hogy egy objektumot hogyan tudunk textúrával kitölteni.
Az előző részben szöveget jelenítettünk csak meg, most itt az ideje, hogy rajzoljunk is. A példaprogram egy Jing-Jang szimbólumot rajzol meg, némi "körítéssel".

A rajzolást a Button1 OnClick eseményénél hajtjuk végre:
procedure TForm1.Button1Click(Sender: TObject);
begin
Csatlakozunk a CorelDraw-hoz.
  Draw := CreateOleObject('CorelDraw.Automation.9');
Létrehozunk egy új dokumentumot, és megjelenítjük azt, valamint beállítjuk a nézet nagyítását az oldal szélességéhez viszonyítva.
  Draw.FileNew;
  Draw.SetDocVisible(True);
  Draw.ZoomToWidth;
Háttérnek rajzolunk egy kört, amit egy mintázattal töltünk ki. A nagy számok a paraméterekben ne ijesszenek meg senkit, ez azért van, mert a koordinátákat mikronban kell megadni.
A CreateEllipse függvénnyel tudunk kört, ellipszist, vagy körívet, körcikket rajzolni úgy, hogy a befoglaló négyszög koordinátáit adjuk meg a lap középpontjához képest relatívan. A függvénynek összesen 7 paramétere van:
  • Top: a befoglaló négyszög felső szélének koordinátája.
  • Left: a befoglaló négyszög bal szélének koordinátája.
  • Bottom: a befoglaló négyszög alsó szélének koordinátája.
  • Right: a befoglaló négyszög jobb szélének koordinátája.
  • StartAngle: kezdő szög.
  • EndAngle: befejező szög. Ha a kezdő szög és a befejező szög egyaránt 0, akkor teljes kört, illetve ellipszist rajzolunk.
  • Arc: ha nem teljes kört vagy ellipszist rajzolunk, akkor true érték esetén körcikket (kitöltött), míg false esetén csak körívet rajzol (egyszerű vonal, kitöltés nélkül).
  Draw.CreateEllipse(-700000, -700000, 700000, 700000, 0, 0, 0);
Az ApplyTextureFill függvénnyel töltjük ki az imént megrajzolt kört mintázattal. Ennek a függvénynek a következő paramétereket kell megadnunk:
  • TextureLibrary: a textúra library neve (pl. "Styles").
  • TextureName: a minta neve (pl "Sky 2 Colors").
  • TextureStyle: a minta stílusa. Ha a textúra library neve "Samples 5", akkor a stílus nevét "CDR5:"-tel kell kezdeni. Például "CDR5:Blue Valley".
  • TextureWidth: ha az érték kevesebb, mint 500, és a ScaleWidthObject be van állítva, akkor az objektum szélessége százalékban, egyébként a tényleges méret mikronban.
  • TextureHeight: ha az érték kevesebb, mint 500, és a ScaleWidthObject be van állítva, akkor az objektum magassága százalékban, egyébként a tényleges méret mikronban.
  • TextureOffsetX: a középponthoz viszonyított vízszintes eltolás.
  • TextureOffsetY: a középponthoz viszonyított függőleges eltolás.
  • RowOffset: true érték esetén sor, false esetén oszlop szerinti eltolás.
  • RowColumnOffset: a sor vagy oszlop szerinti eltolás mértéke százalékban.
  • ScaleWithObject: true esetén az objektum méretéhez igazítja a kitöltést.
  • RotationAngle: a kitöltés elforgatásának szöge (1 millióval meg kell szorozni).
  • SkewAngle: a kitöltés torzításának szöge (1 millióval meg kell szorozni).
  Draw.ApplyTextureFill('Styles', 'Sky 2 Colors', 'Sky 2 Colors', 100, 100, 0, 0, 0, 0, -1, 0, 0);
Első lépés: rajzolunk egy félkört, ami a szimbólum bal oldala lesz, és azt kitöltjük fekete színnel. A kitöltést az ApplyUniformFillColor függvény végzi.
  Draw.CreateEllipse(-500000, -500000, 500000, 500000, 90000000, 270000000, -1);
  Draw.StoreColor(5, 0, 0, 0, 0);
  Draw.ApplyUniformFillColor;
Második lépés: rajzolunk még egy félkört, ami az előzőnek pont a tükörképe lesz. A két félkör együtt egy kört alkot. Ezt a félkört fehérrel töltjük ki.
  Draw.CreateEllipse(-500000, -500000, 500000, 500000, 270000000, 90000000, -1);
  Draw.StoreColor(5, 255, 255, 255, 0);
  Draw.ApplyUniformFillColor;
Harmadik lépés: rajzolunk egy kört a függőleges átmérő alsó felére, aminek átmérője pontosan fele a két félkör által alkotott kör átmérőjének. Ennek színe fehér lesz.
  Draw.CreateEllipse(-500000, -250000, 0, 250000, 0, 0, 0);
  Draw.StoreColor(5, 0, 0, 0, 0);
  Draw.ApplyUniformFillColor;
Negyedik lépés: egy ugyanakkora kört rajzolunk, mint az előbb, pontosan az előző fölé. Ennek színe fehér lesz. Itt viszont már a körvonal színét is meg kell változtatnunk, hogy ne látszódjon, ezért ez is fehér lesz.
  Draw.CreateEllipse(500000, -250000, 0, 250000, 0, 0, 0);
  Draw.StoreColor(5, 255, 255, 255, 0);
  Draw.SetOutlineColor;
  Draw.StoreColor(5, 255, 255, 255, 0);
  Draw.ApplyUniformFillColor;
Ötödik lépés: rajzolunk egy kis fehér kört az alsó fekete kör közepébe.
  Draw.CreateEllipse(-125000, -125000, -375000, 125000, 0, 0, 0);
  Draw.StoreColor(5, 255, 255, 255, 0);
  Draw.ApplyUniformFillColor;
Hatodik lépés: rajzolunk egy kis fekete kört a felső fehér kör közepébe.
  Draw.CreateEllipse(375000, -125000, 125000, 125000, 0, 0, 0);
  Draw.StoreColor(5, 0, 0, 0, 0);
  Draw.ApplyUniformFillColor;
Frissítjük a képernyőt, és készen is vagyunk!
  Draw.RedrawScreen;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
3333WindowsNet Shell parancsok1. rész
3367WindowsNet Shell parancsok2. rész
3396WindowsNet Shell parancsok3. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 316. 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 |