Graph - zoznam príkazov

Štandardná programová jednotka GRAPH

- obsahuje prostriedky pre prácu sgrafikou, kreslenie geometrických útvarov, pohyb grafického kurzora, prácu s farbami a iné grafické operácie. Na začiatku ju treba inicializovať a na konci ukončiť. Organizácia textovej a grafickej obrazovky sa v zásade líši.

Popis textovej obrazovky

  • Textová stránka sa skladá z 80 stĺpcov, 25 riadkov
  • celkovo prístupných 80 x 25 buniek
  • v každej bunke zobrazený jeden znak
  • miesto zapisovania je označené blikajúcim kurzorom
  • v každej bunke sa môžu naraz vyskytnúť dve farby -1. farba pozadia 2. farba znaku
  • riadky sú číslované od 1 po 25, stĺpce od 1 po 80

Grafická obrazovka

V programe pascal je implicitne navolená textová obrazovka, na prepnutie do grafického formátu musíme použiť príkaz jazyka. Pre našu potrebu budeme voliť grafickú kartu VGA s režimom VGA 640x480 bodov pri 16-tich farbách.

  • základná grafická obrazovka je tabuľka pozostávajúca zo 640 stĺpcov a 480 riadkov
  • každá bunka tejto tabuľky sa nazýva pixel
  • pixel je základnou grafickou jednotkou a môže mať iba jednu farbu
  • grafický kurzor - miesto kam ukazuje grafické pero - nie je viditeľné, ale počítač si jeho polohu pamätá a môžeme ho príkazmi presúvať po obrazovke
  • stĺpce sú číslované od 0 po maxxa riadky od 0 po maxyAko sú orientované súradnice na obrazovke: ľavý horný roh (0,0) pravý horný roh (maxx,0) ľavý dolný roh (0,maxy) pravý dolný roh (maxx,maxy)

Prehľad procedúr a funkcií knižnice GRAPH

Procedúry a funkcie na inicializáciu grafického režimu

  • procedúra InitGraph(gd, gm, cesta) - inicializuje a nastavuje grafický režim
  • procedúra ClearDevice - vymaže grafickú obrazovku a pripraví ju na kreslenie
  • procedúra CloseGraph - ukončí prácu v grafickom režime, nastaví opäť textový režim Procedúry a funkcie na nastavenie farieb
  • procedúra SetBkColor(farba) - nastavuje farbu pozadia
  • procedúra SetColor(farba) - nastavuje farbu na kreslenie obrazcov
  • funkcia GetBkColor - vracia kód aktuálnej farby pozadia
  • funkcia GetColor - vracia kód aktuálnej farby obrazca
  • funkcia GetMaxColor vracia najvyššiu hodnotu kódu farby, ktorá sa môže použiť v procedúre SetColor pre daný graf. režim

Procedúry a funkcie na zistenie a nastavenie súradníc grafického režimu:

  • funkcia GetX - vracia aktuálnu x-ovú súradnicu
  • funkcia GetY - vracia aktuálnu y-ovú súradnicu
  • funkcia GetMaxX - vracia maximálnu možnú x-ovú súradnicu
  • funkcia GetMax - vracia maximálnu možnú y-ovú súradnicu
  • procedúra MoveTo(x, y) - premiestni kurzor do definovaného bodu
  • procedúra MoveRel(rx, ry) - posunie kurzor o relatívnuvzdialenosť vzhľadom k aktuálnej pozícii kurzora

Procedúry na kreslenie čiar a nastavenie spôsobu kreslenia čiar

  • procedúra Line(x1, y1, x2, y2) nakreslí čiaru ako spojnicu dvoch bodov
  • procedúra LineTo(x, y) nakreslí čiaru z pozície aktuálneho kurzora do def. bodu, grafický kurzor sa nastaví na posledný bod kreslenej čiary
  • procedúra SetLineStyle(styl, vzorka, hrúbka) nastaví spôsob kreslenia čiar

Procedúry na kreslenie pravouholníkov a mnohouholníkov

  • procedúra Rectangle(x1, y1, x2, y2) nakreslí pravouholník
  • procedúra Bar(x1, y1, x2, y2) nakreslí pravouholník aktuálnym typom výplne a aktuálnou farbou
  • procedúra Bar3D(x1, y1, x2, y2, h, v) nakreslí trojrozmerný pravouholník aktuálnym typom výplne a aktuálnou farbou
  • DrawPoly(pv,kde) - obrys mnohouholníka, pv – počet vrcholov, kde – jednorozmenrné pole súradníc vrcholov mnohouholníka, ktoré sú typu PointType
  • FillPoly(pv,kde) - vyplnený mnohouholník, pv – počet vrcholov, kde – jednorozmenrné pole súradníc vrcholov mnohouholníka, ktoré sú typu PointType

Procedúry na kreslenie kružníc, elíps a výsekov

  • procedúra Circle(x, y, r) nakreslí kružnicu so stredom [x, y] a polomerom r
  • procedúra Ellipse(x, y, uz, uk, a, b) nakreslí elipsu
  • procedúra FillEllipse(x, y, a, b) nakreslí a vyplní elipsu
  • procedúra Arc(x, y, uz, uk, r) nakreslí kruhový oblúk
  • procedúra PieSlice(x, y, uz, uk, r) nakreslí a vyplní kruhový výsek
  • procedúra Sector(x, y, uz, uk, a, b) nakreslí a vyplní eliptický výsek

Procedúry na definovanie výplní obrázkov

  • procedúra SetFillStyle(vypln, f) nastaví jeden z preddefinovaných vzorov výplne a farbu
  • procedúra FloodFill(x, y, f) zaplní ohraničenú oblasť aktuálnym typom výplne

Procedúry a funkcie pre písanie textu

  • procedúra OutText(text) zobrazí textový reťazec v grafickom režime na aktuálnej pozícii grafického kurzora
  • procedúra OutTextXY(x, y, text) zobrazí textový reťazec v grafickom režime na def. súradniciach
  • procedúra SetTextStyle(font, smer, vel) nastaví font, koeficient zväčšenia písma, smer písma
  • procedúra SetTextJustify(h, v) nastaví spôsob zarovnávania textu v graf. režime pri písaní pomocou OutText a OutTextXY