Grafika je jednou zo základných vlastností osobných počítačov. Je to aj hlavný rozdiel medzi predchádzajúcimi sálovými počítačmi a osobnými počítačmi. O grafike ako takej sme si písali v článkoch:
-
Počítačová grafika – úvod http://www.oskole.sk/?id_cat=1008&clanok=14901
-
Rastrová počítačová grafika http://www.oskole.sk/?id_cat=1008&clanok=14896
-
Vektorová grafika http://www.oskole.sk/?id_cat=1008&clanok=15117
Predpokladám, že na základe získaných vedomostí z vyššie uvedených článkov Vám nebude problematika počítačovej grafiky úplne neznáma. Na to, aby sme mohli v programe pracovať s grafickom režime, je nutné prepnúť sa z textového režimu do grafického režimu. Robíme to nasledovne:
-
Do sekcie uses pridáme jednotku graph, ktorá obsahuje všetko potrebné na vykreslovanie grafických výstupov.
-
Ovládač – je to súbor, ktorý sa dodáva s technickým vybavením (napr. monitor, grafická karta a pod.) a slúži na obsluhu zariadenia operačným systémom a užívateľským programom. Vzhľadom na to, že nevieme na akom počítači náš program v budúcnosti pobeží, pascal si pomocou príkazu detect, zistí zabudovanú počítačovú grafiku.
-
Initgraph – týmto príkazom sa inicializuje grafika, ovládač a grafický mod. Na to, aby sme mohli v programe pascal pracovať v jednom z možných grafických modov, je potrebné nastaviť cestu ku súboru egavga.bgi. Pokiaľ takýto súbor nemáte vo Vašom počítači je tu možnosť voľne si ho stiahnuť napríklad odtiaľto:
http://www.uloz.to/xnuoFdH/egavga-bgi
Na obrázku vidieť základnú inicializáciu v programe Pascal. Ako vidieť ja mám súbor egavga.bgi v adresári c:\fpc\egavga.bgi
Ak náhodou používate FreePascal a nejde vám tento program skompilovať, je nutné:
-
Buď zameniť v deklarácii premenných ovladac a grafmod dátový typ integer za smallint
-
alebo nastaviť v menu Options / Compiler na karte Syntax položku Compiler mode na Turbo Pascal Compatible.
Ja som použil možnosť smallint, ako to vidieť na vrchnom obrázku.
Program skompilujeme. Ako vidieť, kompilácia prebehla úspešne a nie sú v programe žiadne syntaktické chyby.
Po úspešnej kompilácii programu skúsime nakresliť vodorovnú čiaru. Do zdrojového kódu programu vložíme riadok, ktorý nám vykreslí čiaru. Uvedená čiara bude jednou z obvodových čiar obdĺžnika. Ako prvé použijeme príkaz line, ktorý nám vykreslí čiaru. Ako parametre príkazu sa zadajú koncové body úsečky. Ešte treba podotknúť jednu skutočnosť, že bod (0,0) sa nachádza v ľavom hornom rohu obrazovky. Treba vedieť aj tú skutočnosť, že pozícia bodu úsečky ako aj akéhokoľvek iného grafického obrazca sa musí nachádzať v množine bodov, ktoré sú technicky nadefinované – rastrovanie obrazu. Ako vidieť na obrázku, v príkaze Line sú 100, 50, 300, 50, pričom platí, že:
-
x1 = 100 a y1 = 50
-
x2 = 300 a y1 = 50,
kde x1 predstavuje x-ovú súradnicu začiatku úsečky a x2 x-ovú súradnicu konca úsečky. Hodnota súradnice y1 je v obidvoch prípadoch rovnaká, nakoľko úsečka ide vodorovne s okrajom obrazovky. Program skompilujem – preložím zo zdrojového textu do strojového kódu. Po bezchybnej kompilácii spustím program príkazom Run. A takto vyzerá výstup z programu – rovná čiara veľkosti 200 pixelov. Toto je výpis úspešného ukončenia programu.
Postupne budeme vkladať ďalšie príkazy na vykresľovanie úsečiek.
Tu už máme nadefinované 2 príkazové riadky. A tu je výsledok.
Všimnite si, prosím, ako postupne na seba jednotlivé koncové body nadväzujú. Takto postupným vykresľovaním úsečiek vytvoríme obdĺžnik. Tu je výsledok nášho snaženia.
Takto vykreslený obrázok je pomerne pracný. Preto programovací jazyk Pascal má osobitný príkaz na vykreslenie grafického obrazca po zadaní príslušných parametrov. Je to príkaz rectangle. Ako parametre som použil pôvodné x-ové hodnoty s posunom o 300 pixelov. Takto vznikne hneď vedľa prvého obrázka druhý, kde však stačí zadať len parametre ľavého horného rohu a pravého dolného rohu obrázka. Po vykreslení prvého obdĺžnika nám program vykreslí druhý obdĺžnik s posunom. Takto som to zvolil preto, aby bola ukážka výsledku spracovania dostatočne názorná. A máme tu dva obdĺžniky. Ten vľavo je vykreslený pomocou úsečiek, ten vpravo je vykreslený pomocou príkazu rectangle a zadaním hodnôt ľavého horného rohu a pravého dolného rohu.
Ďalšou možnosťou je nakreslenie a vyfarbenie obrázka (v našom prípade obdĺžnika) zvolenou farbou. Na to sa v Pascale používajú tieto príkazy:
-
SetFillStyle (SolidFill, green); - tu zadávame farbu vnútornej výplne obrázka
-
Bar (700, 50, 900, 250); - parametre rohov obdĺžnika ako v príkaze rectangle.
Ako vidieť, kompilácia prebehla úspešne. Výsledok spracovania programu môžeme vidieť na hornom obrázku.
Ako vidieť, je možné vytvárať geometrické obrazce viacerými spôsobmi. My sme si ukázali tri jednoduché spôsoby, pomocou ktorých by sme si mohli vytvoriť aj pomerne komplikovaný obrázok. Treba však vždy mať na mysli to, že maximálne hodnoty súradníc x a y nesmú prekročiť hodnoty nastavenia monitora. Pomocou týchto možností si vieme vytvoriť plošné geometrické útvary ako sú: obdĺžniky, štvorce, trojuholníky a iné mnohouholníky v rôznych farbách. Ďalším geometrickým útvarom je kruh. Ten sa vytvára použitím príkazu circle, ktorý obsahuje nasledujúce parametre:
-
X-ovú súradnicu stredu kružnice
-
Y-ovú súradnicu stredu kružnice
-
R – veľkosť polomera.
Aj tieto hodnoty sa udávajú v pixeloch.
Program vykreslí aj kružnicu. Kompilácia prešla bez chýb. Vidíme vykreslený obrázok kružnice.
Takým zložitejším geometrickým útvarom je elipsa, ktorá má aj podstatne viac parametrov. Na jej vykreslenie sa používa procedúra elipse. Definujeme ju pomocou viacerých parametrov: Ellipse(X, Y: Integer; StAngle, EndAngle: Word; XRadius, YRadius: Word);
Kde:
-
X a Y sú súradnice stredu,
-
XRadius je x-ový polomer,
-
YRadius zas y-ový,
-
StAngle je uhol, od ktorého sa začína časť elipsy kresliť
-
EndAngle je uhol, kde sa má prestať kresliť.
V našej programovej ukážke som použil pre procedúru elipse nasledujúce číselné hodnoty parametrov. Postupne si ich vysvetlíme:
750 – x - ová súradnica odkiaľ sa začne elipsa vykresľovať 500 – y – ová súradnica odkiaľ sa začne elipsa vykresľovať 0 – počiatočný uhol od ktorého sa začne elipsa vykresľovať 360 – koncový uhol pokiaľ sa bude elipsa vykresľovať 300 – šírka elipsy v pixeloch 200 - výška elipsy v pixeloch Tu vidieť parametre príkazu ELLIPSE A tu vidieť výsledok spracovania programu – elipsu. Nakoniec si ukážeme, ako sa dá vykresliť časť elipsy. V príkazovom riadku elipse budú mať jednotlivé parametre nasledujúce hodnoty:
-
1250 – x-ová súradnica
-
350 - y-ová súradnica
-
45 - uhol odkiaľ kreslíme časť elipsy
-
270 - uhol pokiaľ kreslíme časť elipsy
-
150 - dĺžka elipsy
-
100 - šírka elipsy
Na tomto obrázku je aj príkazový riadok na vykreslenie časti elipsy. Takto vyzerá vykreslená časť elipsy. Toto sú tie najbežnejšie grafické príkazy. Pomocou nich a ich vhodnou kombináciou sa dá nakresliť celkom pekný obrázok. Vrele odporúčam študentom vyskúšať jednotlivé príkazy a nebáť sa meniť v nich parametre. Veľkou výhodou takéhoto učenia sa je, že priamo si môžu všetko vyskúšať a preveriť, čo sa stane ak zmenia niektorý parameter. Takýmto spôsobom celkom jednoducho pochopia ich význam a spôsob použitia.






















