Grafica in Pascal

Trimis la data: 2010-09-29 Materia: Automatica Nivel: Facultate Pagini: 3 Nota: / 10 Downloads: 64
Autor: Loredana Dimensiune: 7kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui laborator: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
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.
Referate similare: Nu exista 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.

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10
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.
Confidentialitatea ta este importanta pentru noi

Referat.ro utilizeaza fisiere de tip cookie pentru a personaliza si imbunatati experienta ta pe Website-ul nostru. Te informam ca ne-am actualizat politica de confidentialitate pentru a integra cele mai recente modificari privind protectia persoanelor fizice in ceea ce priveste prelucrarea datelor cu caracter personal. Inainte de a continua navigarea pe Website-ul nostru te rugam sa aloci timpul necesar pentru a citi si intelege continutul Politicii de Cookie. Prin continuarea navigarii pe Website-ul nostru confirmi acceptarea utilizarii fisierelor de tip cookie conform Politicii de Cookie. Nu uita totusi ca poti modifica in orice moment setarile acestor fisiere cookie urmarind instructiunile din Politica de Cookie.


Politica de Cookie
Am inteles