Meniu Referate
Romana
Romana1
Romana2
Istorie
Istorie1
Geografie
Geografie1
Diverse
Drept
Economie
Filozofie
Fizica
Informatica
Biologie
Chimie
Italiana
Spaniola
Germana
Franceza
Engleza
Marketing
Matematica
Medicina
Psihologie
Astronomie
Stiinte Politice
Proiecte

Tehnici de animatie

...entru exemplificarea lor vom folosi o singura problema si anume de a misca un patrat pe orizontala.Tehnica 1Operatiile de desenare si stergere a figurii se fac cu ajutorul procedurii SetriteMode, pe care o vom prezenta in continuare.Forma generala a acestei proceduri este SetriteModevaloare intreaga. Vom folosi aceasta procedura cu un singur parametru si anume XorPut valoarea 1 predefinita in Unit-ul Graph. In concluzie, vom pune SetriteModeXorPut.Dupa apelul acestei proceduri procedam astfelapelam o procedura care deseneaza o figura aceasta va fi vizibila pe ecran asteptam o perioada de timpapelam din nou procedura care realizeaza desenul, exact in aceeasi pozitie la acest apel desenul va disparea, pentru ca, de fapt, desenul se realizeaza acum utilizand culoarea fonduluiapelam procedura care realizeaza desenul intr-o alta pozitie acesta va deveni vizibil, pentru ca se realizeaza utilizand culoarea curentaasteptam o perioada de timpprocedeul se repeta pana cand figura a ajuns in pozitia dorita.Tehnica 2Aceasta tehnica de animatie este superioara primei tehnici, datorita faptului ca este mai rapida operatia de aducere din memorie pe ecran a unei imagini, decat desenarea ei. Acest fapt constituie un mare avantaj in cazul imaginilor complexe.Pentru a intelege aceasta tehnica, trebuie sa prezentam in prealabil cateva proceduri.Orice imagine care se afla pe ecran poate fi salvata in memoria interna. Exista posibilitatea ca anumite informatii cum ar fi cele care permit vizualizarea unei imagini sa fie salvate in memoria interna, alocand spatiul necesar pentru aceasta in timpul executiei programului. O astfel de alocare a memoriei poarta numele de alocare dinamica si se va studia in detaliu in clasa a zecea, dar pentru aceasta tehnica de animatie ne sunt necesare cateva cunostinte minimale.Variabila de tip Pointer are posibilitatea de a retine o adresa in memorie a nu se face confuzie intre adresa unei zone de memorie si continutul ei. Alocarea spatiului in memorie un numar de octeti consecutivi la o anumita adresa se face cu ajutorul procedurii GetMem care creeaza in heap o variabila dinamica de dimensiune specificata.Sintaxa Procedure GetMem Var p Pointer, dim ordP variabila de tip pointer care va contine adresa de inceput a zonei alocate variabilei dinamiceDim este o expresie care stabileste lungimea in octeti a zonei care va fi ocupata in heap. Valorea sa maxima este 65521.Cum salvam imaginea De fapt, se salveaza imaginea continuta intr-un dreptunghi pentru care se cunosc coordonatele colturilor din stanga sus si dreapta jos De unde stim cati octeti sunt necesari pentru a salva o imagine Aici, ne este de mare folos functia ImageSize. Aceasta functie este de tip ord si returneaza numarul de octeti necesari pentru salvarea unei imagini in cazul cand dispunem de acest spatiu, in caz contrar se returneaza valoarea 0.Pana acum stim cum putem afla numarul de octeti necesari memorarii imaginii, cum sa rezervam spatiul necesar memorarii imaginii, dar nu stim cum salvam efectiv imaginea octetii corespunzatori ei aflati in memoria video. Pentru a putea realiza aceasta, folosim procedura GetImage are forma urmatoare GetImage x1,y1,x2,y2,a.Parametrii au urmatoarea semnificatiex1,y1,x2,y2 - coordonatele coltului din stanga sus si dreapta jos ale dreptunghiului care contine imagineaa - spatiul in care se face salvarea. Referitor la ultimul parametru, facem urmatoarele precizari a este variabila de tip Pointer cand scriem a, ne referim la adresa unde s-a facut rezervareacand scriem a ne referim la continutul de la adresa care se gaseste in variabila a.In concluzie, procedura GetImage are rolul de a salva o imagine in memorie. Operatia inversa, da a reface imaginea prin aducerea octetilor de informatie in memoria video, se face prin utilizarea procedurii PutImage. Aceasta are forma generala PutImagex1,y1,a,XorPu...
Download