Grafica in Pascal

Trimis la data: 2010-09-29
Materia: Automatica
Nivel: Facultate
Pagini: 3
Nota: 9.30 / 10
Downloads: 68
Autor: Loredana
Dimensiune: 7kb
Voturi: 3
Tipul fisierelor: doc
Acorda si tu o nota acestui laborator:
Laborator despre Grafica in Pascal
In perioada actuala este de neconceput sa realizam programe care se pot utiliza in practica, fara sa folosim grafica pe calculator. De multe ori un desen valoreaza mai mult decat o mie de vorbe. Explicati cuiva cum se ajunge acasa la dumneavoastra si veti observa ca intelege acest lucru mai usor dupa un desen. Limbajul Turbo Pascal contine o serie de proceduri si functii care, chiar daca nu stralucesc din punct de vedere al modului in care functioneaza, permit realizarea unor aplicatii grafice. Acestea sunt reunite in unitatea GRAPH care se gaseste in subcatalogul BGI. In cadrul acestui capitol se vor prezenta o serie de proceduri si functii, des folosite, cu un rol didactic, care se gasesc intr-o uitate de program numita UTILG, prezentata integral la sfarsitul acestui capitol.

Laboratoare similare:

Laborator despre Grafica in Pascal
Initializrea modului grafic
Pentru ca o imagine sa apara pe ecran, calculatorul trebuie inzestrat cu o placa grafica ce contine memoria video ( in care se retin informatii asupra imaginii). Exista mai multe tipuri de placi grafice (CGA, EGA, VGA) care difera prin memorie si alti parametri. Intrucat fabricantii acestor placi nu au ajuns la o concluzie comuna in ceea ce priveste folosirea lor, un program care functioneaza perfect pe una din ele nu se poate folosi pe o alta.

In concluzie, orice limbaj care foloseste aceste placi trebuie sa contina rutine specifice lor. In acest sens limbajul TURBO PASCAL contine mai multe componente soft care lucreaza cu diversele placi, numite DRIVERE. In funcie de placa grafica gasita, se incarca un driver sau altul. Acestea se gasesc in fisierele cu extensia .BGI. astfel, exista drivere CGA, VGA etc. odata ales un driver se alege modul de lucru: in unele moduri de lucru avem o rezolutie mai buna ( se reprezinta mai multe puncte pe ecran) dar avem mai putine culori si se pot retine mai putine pagini video ( informatia referitoare la imaginea continuta pe ecran), in altele avem o rezolutie mai prasta dar putem reprezenta un desen utilizand mai multe culori si putem retine mai multe pagini video.

Un mod de lucru este un compromis intre numarul de culori, rezolutie si numarul de pagini video. In acest capitol nu vom studia placi grafice depasite moral cum ar fi cele CGA si EGA. Ne vom concentra atentia in special asupra placii VGA, careia ii corespunde driverul VGA care poate lucra in mai multe moduri:

1: Modul VGALo cu o rezolutie de 640*200, poate folosi 16 culori la un moment dat si reitne patru pagini video;
2: Modul VGAMed cu o rezolutie de 640*350, 16 culori, 2 pagini video;
3: Modul VGAHi cu o rezolutie 640*480, o singura pagina video, 16 culori.

Selectarea driverului si a modului grafic de lucru se face [prin utilizarea procedurii INITGRAPH. Aceasta are trei parametrii: gdriver (integer) care contine driverul (codul asociat acestuia), gmode(integer) care contine modul de lucru si o variabila de tip string care arata calea catre unitatea GRAPH. Forma generala a acestei proceduri este:

INITGRAPH (gdriver, gmode,'cale')
Primii doi parametrii sunt transmisi prin referinta. Initializarea sistemului garfic se poate face in doua moduri:

-prin a solicita se se identifice automat placa grafica si corespunzator ei sa se incarce un anumit driver si sa se selecteze un anumit mod de lucru ( in acest caz se alege acel mod de lucru care are cea mai buna rezolutie grafica);

-prin indicarea cu ajutorul primilor doi parametrii a unui driver si a unui mod de lucru solicitat de programator (un astfel de program nu se poate executa daca nu avem placa grafica corespunzatoare);

In cazul primului mod de initializare se poate folosi procedura INITG care se gaseste in unitatea UTILG.

Procedure initg;
begin
gdriver:=detect;
initgraph(gdriver, gmode,'c:tpbgi');
if graph result0 then
begin
writeln( 'tentativa esuata');
halt;
end;
end;

Constanta DETECT are valoarea 0 si ii specifica procedurii identificarea automata a driverului si a modului de lucru.

Tentativa de initializare grafica poate esua din diverse motive cum ar fi: lipsa unitatii GRAPH, calea indicata este gresita etc. Pentru a testa daca initializarea modului grafic a reusit se foloseste functia intreaga GRAPHRESULT care returneaza valoarea 0 in caz afirmativ si o valoare diferita de 0 in caz contrar.

In caz de nereusita se opreste fortat programul (halt). In acest caz se renunta la programarea structurata, insa este absurd sa scriem intregul program sub clauza ELSE.
Home | Termeni si conditii | Politica de confidentialitate | Cookies | Help (F.A.Q.) | Contact | Publicitate
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.