Unit-ul standard Graph implementeaza un numar de subprograme axate spre prelucrari grafie. Programele care utilizeaza subprogramele destinate prelocrarilor grafice trebuie sa contina directiva Uses Graph.
Subprogramele Graph pot fi clasificate astfel:
. Initializarea modului grafic;
. Tratarea erorilor grafice;
. Definiri de ferestre si pagini;
. Subprograme orientate spre puncte:
. Subprograme orientate spre linii;
. Subprograme orientate spre arcuri, cercuri si alte curbe;
. Subprograme orientate spre poligoane si hasurari;
. Subprograme orientate spre salvarea imaginilor;
. Subprograme orientate spre texte;
. Defini de culori si palete.
In acceptiunea Unit-ului Graph, coltul stanga sus al ecranului graifc are coordonatele (0, 0). Valorile X sau coloanele cresc spre dreapta. Valoriile Z sau liniile cresc in jos.
In Unit-ul Graph este folosita notiunea de pointer actual (curent)
Pointeru actual este similar cursorului din modul text, cu deosebirea ca acest pointer nu este vizibil. Monitorul unui calculator afiseaza o imagine formate din puncte independente, numite pixeli. Fiecare pixel are o culoare si o luminiozitate propie, independenta de culoare si luminiozitatea celorlalti.
Imaginea afisata de monitor este formata dintr-un numar oarecare de linii si coloane.
Cu cat numarul delinii si coloane este mai mare cu atat calitatea imaginii obtinute este mai ridicata. Spunem ca un monitor cu o rezolutie de 640 / 480 pixeli este mai bun decat un monitor de 320 / 200.
Monitorul poate afisa litere, cifre si semne speciale cat si portrete, peisase, grafice de fonctii, desene, etc. Pentru aceasta nu are nici oimportamta daca imaginea afisata reprezinta o poza sau un text. Din punctul de vedere al calculatorului situatia se prezinta cu totul altfel. Monitorul nu trebuie decat sa preia si sa afiseze o imagine deja construita, pe cand calculatorul trebuie sa gestioneze individual fiecar pixel care compune imaginea. Pentru o imagine formata din 640 / 480 pixeli aceasta inseamna 307. 200 pixeli si deci un necesar de memorie considerabila. Din acest motiv primele calculoatoare personale permiteau folosirea exclusiva a modului text. Calculatoarele posedau o compunenta numita placa grafica (sau interfata video), componenta in sarcina careia cade gestionare memoriei video si controlo monitorului. Aceste placi grafice au avut o evolutie notabila in timp.
Unit-ul Graph pune la dispozitia utilizatorului o biblioteca grafica cu peste 50 de rutine, ce variaza de la subprogramele de nivel inalt, ca SetWiewPort, Circle,
Bar3d, Drawpolz, la suprograme orientate pe operatii de biti, cum ar fi Getlmage si Putlmage. Sunt suportate diferite tipuri de linii si modele de hasurare, precum si mai multe tipuri de caractere, ce pot fi marite, aliniate si orientate orizontal sau vertical. Prin intermediul acestor rutine este posibila construirea unei aplicatii sofisticate, fiind posibila programarea independenta de interfata grafica folosita de calculatorul pe care se va executa aplicatia respectiva.
Biblioteca grafica a limbajului Turbo Pascal consta din urmatoarele fisiere:
GRAPH. TPU - contine codul obiectiv al subprogramelor definite in unit-ul graph;
*.BGI - aceste fisiere reprezinta drivere specifice pentru mai multe tipuri de interfete grafice, pentru rularea programului este necesar numai fisierul .BGI corespunzator placii grafice utilizate;
*.CHR - aceste fisiere contin descrierile stilurilor suplimentare de caractere.
Unit-ul standard Crt implementeaza pintre alte programe, trei subprograme destinate generarilor de sunet, clasificate astfel:
. Suprograme destinate generatorului de sunet.
Programele care utilizeaza aceste subrutine trebuiesa contina directiva users Crt.
In lucrarea de fata am prezentat toate subprogramele unit-ului Graph, care au fost grupate dupa domeniul de aplicabilitate. Fiecare capitol este insotit de aplicatii practice care ilustreaza modul in care sunt definite si apelate subrutinelor unit-urilor Graph si Crt.