Delphi - Szövegek létrehozása, formázása Corel Draw-ban

Corel 2. rész

forráskód letöltése
A CorelDraw programozásáról szóló második cikkünkben megnézzük, hogy hogyan tudunk szöveget létrehozni, annak tulajdonságait beállítani, valamint a már kész feliratot színátmenettel kiszínezni. Mint a bevezetőben is említettem, mostani cikkünk elsősorban a szövegek létrehozásáról szól. A példaprogramban nyitunk egy új dokumentumot, és létrehozunk benne egy Artistic Text objektumot, aminek természetesen beállítjuk a betűtípusát, és az ezzel kapcsolatos tulajdonságokat, valamint egy körvonallal is ellátjuk. Ezután egy szép szivárványszínű színátmenettel kiszínezzük az egészet. Lássunk is hozzá!

Első lépésben természetesen kapcsolódnunk kell az alkalmazáshoz. Ezt a szokásos módon tehetjük meg.
  Draw := CreateOleObject('CorelDraw.Automation.9');
A FileNew függvénnyel létrehozunk egy új dokumentumot.
  Draw.FileNew;
Megjelenítjük az újonnan létrehozott dokumentumot. Ha ezt nem tesszük meg, akkor ugyanúgy dolgozhatunk vele, de a felhasználó semmit sem fog látni ebből.
  Draw.SetDocVisible(True);
A ZoomToWidth függvénnyel a lap szélességéhez igazítjuk a nézetet.
  Draw.ZoomToWidth;
A CreateArtisticText függvénnyel létrehozunk egy szöveg objektumot. Ennek a függvénynek három paramétere van: az első a szöveg, amit meg akarunk jeleníteni, a második és a harmadik a szöveg bal szélének és tetejének a koordinátája a lap közepéhez relatívan megadva. A koordinátákat mikron pontossággal kell megadni. A (0, 0) koordináta a lap közepét jelenti.
  Draw.CreateArtisticText('Animare Software', 0, 0);
A SetCharacterAttributes függvénnyel beállítjuk a szöveg objektum betűtípusát és jellemzőit. A függvény paraméterei a következők:
- FirstSelectedChar: az első kijelölt karakter sorszáma. Az első karakter 0, a második 1, stb.;
- LastSelectedChar: az utolsó kijelölt karakter sorszáma. Ha nincs szöveg kijelölve, akkor mindkét paraméter értéke legyen 0;
- FontName: a betűtípus neve (pl. 'Arial');
- FontStyle: a betűtípus stílusa:
7 = Normal
8 = Normal/Italic
13 = Bold
14 = Bold/Italic
- PointSize: a betű mérete pontban, tized pontossággal. Tehát a 12 pontos betűnél 120-at kell megadni;
- Underline: az aláhúzás típusa
0 = nincs aláhúzás
1 = egyszerű aláhúzás
2 = egyszerű szóaláhúzás
3 = vastag aláhúzás
4 = vastag szóaláhúzás
5 = dupla aláhúzás
6 = dupla szóaláhúzás
- Overline: a felirat fölé húz vonalat:
0 = nincs
1 = vékony
2 = vékony, csak a szavak fölé
3 = vastag
4 = vastag, csak a szavak fölé
5 = dupla
6 = dupla, csak a szavak fölé
- StrikeOut: szó áthúzása vízszintesen:
0 = nincs
1 = vékony
2 = vékony, csak a szavakat
3 = vastag
4 = vastag, csak a szavakat
5 = dupla
6 = dupla, csak a szavakat
- Placement: felirat elhelyezése.
0 = normál
1 = felső index
2 = alsó index
- CharacterSpacing: betűk közötti távolság százalékban;
- WordSpacing: szavak közötti távolság százalékban;
- LineSpacing: sorok közötti távolság százalékban;
- Alignment: a szöveg igazítása:
0 = nincs
1 = balra
2 = középre
3 = jobbra
4 = teljes igazítás
5 = a bekezdés utolsó sorát is széthúzza
  Draw.SetCharacterAttributes(0, 0, 'Arial Black', 8, 520, 0, 0, 0, 0, 0, 0, 0, 2);
Most beállítjuk a felirat körvonalának színét feketére. Ehhez két függvényre lesz szükségünk. Az első a StoreColor, amivel a színt állíthatjuk be. Ennek paraméterei:
  • ColorModal: a szín modellezésének módját határozza meg. Az RGB színmodell kódja: 5.
  • Color1: az első színösszetevő értéke. RGB-nél a piros színé.
  • Color2: a második színösszetevő értéke. RGB-nél a zöld.
  • Color3: a harmadik színösszetevő értéke. RGB-nél a kék.
  • Color4: olyan színmodelleknél használatos, ahol négy színösszetevőt kell megadni. Például a CMYK-nál ez a fekete színösszetevő értéke.
A függvény, amivel a körvonal színét állíthatjuk be a SetOutlineColor. Ennek nincsenek paraméterei.
  Draw.StoreColor(5, 0, 0, 0, 0);
  Draw.SetOutlineColor;
Most már csak a szivárvány megjelenítése van hátra a szövegen. Ehhez beállítjuk a színt pirosra a StoreColor függvénnyel. Az ApplyFountainFill függvénnyel létrehozzuk a színátmenetes kitöltést. Ennek paraméterei a következők:
- Type: a kitöltés típusa:
0 = Linear (default)
1 = Radial
2 = Conical
3 = Square
- CenterX: a kitöltés középpontjának eltolása vízszintesen a középponthoz képest százalékban. Negatív érték is megadható.
- CenterY: a kitöltés középpontjának eltolása függőlegesen a középponthoz képest százalékban. Negatív érték is megadható.
- Angle: a kitöltés elforgatásának szöge.
- Steps: a színátmenet közötti lépések száma. Minél magasabb az érték, annál fokozatosabb lesz a színátmenet.
- Padding: 0 és 45 közötti érték.
- Blend: a színkeverés módja:
0 = Direct (default)
1 = Rainbow CW
2 = Rainbow CCW
3 = Custom
- Rate: 1 és 99 közötti érték.
  Draw.StoreColor(5, 255, 0, 0, 0);
  Draw.ApplyFountainFill(1, 100, 100, 0, 255, 5, 2, 50); 
A nézetet beállítjuk úgy, hogy a szöveg a lehető legnagyobb méretben látszódjon.
  Draw.ZoomToAllObjects;
A RedrawScreen függvény meghívásával frissítjük a képet.
  Draw.RedrawScreen;
end;


Corel cikksorozat