Grafické príkazy a atribúty
(predpokladáme, že v globálnej premennej g je priradený "Canvas"
grafickej plochy (Image1), t.j. platí g:=Image1.Canvas)
-
veľkosť
grafickej plochy závisí od veľkosti komponentu Image na formulári
-
aktuálnu
veľkosť grafickej plochy sa môžeme dozvedieť z premenných Image1.Width
a Image1.Height
-
počiatok
súradnej sústavy (bod [0,0]) je v ľavom hornom rohu grafickej
plochy, pričom x-ová os má kladné hodnoty vpravo a y-ová os má kladné
hodnoty nadol (opačne ako v matematike)
- v grafickej ploche môžeme kresliť pomocou
(neviditeľného) grafického pera (Pen)
- základné príkazy (procedúry) na prácu s
perom:
- g.MoveTo(x,y); //
presunie pero bez kreslenia čiary
- g.LineTo(x,y); //
presunie pero s kreslením čiary
- g.Rectangle(x1,y1,x2,y2);
// nakreslí obdĺžnik
- Polygon, ktorý má takéto volanie g.Polygon([Point(x1,y1),Point(x2,y2),Point(x3,y3),...])
//a jeho výsledkom je uzavretý N-uholník, ktorý môže byž
vyfarbený podľa g.Brush
- pero je na začiatku nastavené na kreslenie
čiernou farbou - plné (neprerušované) čiary hrúbky 1; toto môžeme
zmeniť priraďovacími príkazmi:
- g.Pen.Color := clRed; //
nastaví farbu pera na červenú
- ďalšie mená farieb, napr.: clBlack,
clWhite, clRed, clBlue, clYellow, clGreen, ...
- g.Pen.Width := 3;
// nastaví hrúbku pera 3
- g.Pen.Style := psDash; //
nastaví štýl kreslenia čiar na čiarkovaný -- iné štýly ako
psSolid (normálne čiary) fungujú len pre hrúbku 1
- psSolid, psDash, psDot, psDashDot,
psDashDotDot, ...
- obdĺžnik, ktorý sme kreslili na začiatku,
sa neskladá len zo 4 čiar, ale je vyplnený bielou farbou. Podobne, ako
sme menili nastavenia grafického pera, môžeme meniť aj nastavenia pre
vypĺňanie:
- g.Brush.Color := clYellow;
// nastaví farbu výplne
- g.Brush.Style := bsVertical;
// nastaví šrafovanie -- bsSolid je normálne vypĺňanie,
bsClear znamená obdĺžnik bez vyplneného vnútra
- ďalšie štýly: bsSolid, bsClear,
bsHorizontal, bsVertical, ...
- podobne ako obdĺžnik sa kreslí aj elipsa
(nastavené atribúty pera pre obrys a parametre výplne pre vnútro):
- g.Ellipse(x1,y1,x2,y2);
// zadávame súradnice opísaného obdĺžnika,
ak je obdĺžnikom štvorec, nakreslí sa kruh
- výpis textového reťazca
- g.TextOut(x,y,textový-reťazec);
// textový reťazec je buď konštanta 'nejaký text'
alebo funkcia, ktorá vytvára textový reťazec, napr. IntToStr,
TextOut
vie vypisovať len znakové reťazce, napr. g.TextOut(100,200,'Ako sa
máš?') - použili sme štandardnú funkciu IntToStr, ktorá
z celého čísla vyrobí "text", aby sme ho mohli vypísať,
štandardná funkcia FloatToStr vyrobí text z reálneho čísla
- pre písmo:
- g.Font.Color := farba;
- g.Font.Height := veľkosť;
// výška, t.j. veľkosť písma
- g.Font.Name := meno-fontu;
// 'Arial','Times New Roman', ...
- g.Font.Style := štýl;
- hodnotou je nejaká podmnožina množiny
[fsBold, fsItalic, fsUnderline, fsStrikeOut]
- berie sa do úvahy aj štýl "štetca"
- ak je napr. g.Brush.Style:=bsClear; tak sa text vypíše na
priesvitné pozadie; ak je g.Brush.Style:=bsSolid; a g.Brush.Color:=clYellow;
tak sa text vypíše na žltý podklad
návrat