Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » grafica design
Structura unui fisier GIF89a

Structura unui fisier GIF89a


Structura unui fisier GIF89a

Fisierul GIF este compus din blocuri si extensii. Blocurile pot fi blocuri de control, blocuri de afisare grafica si blocuri speciale. Blocurile de control, cum ar fi Antetul, Descriptorul de ecran logic, Extensia controlului grafic si Finalul, controleaza maniera de afisare a continutului grafic. Blocurile de afisare grafica, de exemplu Descriptorul de imagini si Extensia text, contin date folosite pentru figurarea unei imagini. Blocurile speciale ca Extensia de comentarii si Extensia aplicatiei nu sunt folosite de decodoarele GIF. Descriptorul de ecran logic si Tabela globala de culori afecteaza toate imaginile incluse in fisier, pe cand fiecare bloc de control este asociat unui cadru particular:

► Antet GIF 89a (6 octeti, desemnand versiunea GIF)

► Bloc descriptor de ecran logic: poate include o tabela globala de culori (optionala): puteri ale lui 2 culori

► Bloc de extensie (aplicatie Netscape - optional)



► Sir de imagini, fiecare imagine-cadru fiind compusa din:

○ Bloc de control grafic (optional)

○ Descriptor de imagine sau Bloc de text

► Fiecare bloc poate contine o tabela locala de culori

► Tabela de date imagine/text

► Bloc de final

Blocurile de comentarii pot apare oriunde, fiind ignorate.

Un exemplu al structurii unui fisier de animatie (un triunghi rotitor):

Antet GIF89a
Descriptor de ecran logic
Paleta globala
Loop: bucla Netscape
Comentariu 'Creat de'
Comentariu 'Triunghi la 0 grade'
Bloc de control pentru imaginea 1
Date imagine 1
Comentariu 'Triunghi la 120 grade'
Bloc de control pentru imaginea 2
Date imagine 2
Comentariu 'Triunghi la 240 grade'
Bloc de control pentru imaginea 3
Date imagine 3
Final

Un fisier GIF, poate sa stocheze imagini pe maxim 8 biti (256 de culori), adica poate afisa simultan maxim 256 de culori dintr-o paleta de peste 16 milioane de culori. Ca si versiuni, GIF, are doua: GIF87a - versiunea GIF originala, si versiunea GIF89a, care aduce imbunatatiri vechii versiuni.

Fisierul GIF, este alcatuit dintr-un header, unul sau mai multe blocuri, si, optional, niste extensii. Formatul unui astfel de fisier, este urmatorul:

 Offset

Nr. octeti

Descriere

0000h

ID='GIF87a' sau 'GIF89a'

0006h

Latimea imaginii

0008h

Inaltimea imaginii

000Ah

Camp de biti

000Bh

Indexul culorii de fundal

000Ch

Rezervat

Descrierea campurilor:

ID - acest camp indica un fisier GIF, unde primii trei si al 6-lea octet sunt 'GIF', respectiv 'a', iar octetii 4 si 5, indica versiunea.

Latimea si inaltimea imaginii - masurata in pixeli

Camp de biti - contine informatii despre culori, si sunt definiti astfel: bitii 0-2 - marimea Tabelului Global de Culori, care este numarul de biti necesari pentru o culoare din Tabelul Global de Culori -1. Adica, daca o imagine are 8 biti/pixel, acest camp va avea valoarea 7; bitul 3 - rezervat; bitii 4-6 - rezolutia unei culori; bitul 7 - indicator de prezenta a Tabelului Global de Culori.

Tabelul Global de Culori, urmeaza imediat dupa descrierea ecranului, si are marimea , si contine culorile RGB(Red Green Blue) pentru fiecare index de culoare. Octetii, au urmatorul format:

Rosu - 1 octet
Verde - 1 octet
Albastru - 1 octet.

Tabelul Global de Culori, exista, doar daca este setat bitul 7 din Campul de biti. De obicei, Tabelul Global de Culori nu este definit, daca fiecare imagine din fisierul GIF are propriul Tabel Local de Culori. In caz ca o imagine nu are Tabel Local de Culori, va folosi culorile din Tabelul Global de Culori. Daca nici unul din cele doua tabele posibile de culori nu exista, decodorul (programul de afisare), va trebui sa-si creeze propriul Tabel de Culori.

Dupa prima imagine, pot fi mai multe imagini in fisier, care vor fi afisate una dupa alta. O imagine este separata de alta imagine prin simbolul ',' (02Ch). Fiecare imagine va avea un Antet Local, urmat eventual, de Tabelul Local de Culori. Fiecare Antet si Tabel Local, contine informatii doar despre imaginea pe care o insoteste. Antetul Local al unei imagini, are urmatorul format:

Nr. octeti

Descriere

Separator imagine=','(2Ch)

Coordonatele coltului stanga-sus (primii 2 octeti - coordonata stanga;
urmatorii doi octeti - coordonata sus)


Latime imagine

Inaltime imagine

Camp de biti

Bitii din campul de biti, au urmatoarea semnificatie: bitii 0-2 - numarul de biti/pixel; bitii 3-5 - rezervati; bitul 6 - imaginea este intretesuta/secventiala; bitul 7 - prezenta Tabelului Local de Culori. Daca valoarea acestui bit este 0, atunci se va folosi Tabela Globala de Culori si se vor ignora bitii 0-2.

Fiecare fisier GIF, se termina cu caracterul ';', avand codul hexa 3B.

Toate aceste caracteristici, apartin atat fisierelor GIF de versiune 87a cat si versiunii 89a, dar versiunea 89a, mai adauga noi blocuri suplimentare, care sunt optionale. Aceste blocuri, sunt:

■ Blocul de Control,

■ Text,

■ Comentariu si

■ Aplicatie.

Un astfel de bloc, poate fi introdus fie dupa declararea Antetului Local, fie inainte de simbolul de terminare(';'). Diferenta dintre un fisier GIF89a si un fisier GIF87a, este data doar de prezenta acestor blocuri.

Blocul de Control - poseda caracteristicile de afisare a imaginii sau textului care urmeaza dupa acest bloc. Informatia care o contine, stabileste modul de afisare (transparent sau opac), daca imaginea care este pe ecran va fi stearsa sau nu si daca se va astepta interventia utilizatorului pentru a afisa urmatoarea imagine. Antetul unui bloc de control, este urmatorul:

Nr. octeti

Descriere

ID='!'(21h)

Eticheta='.'(f9h)

Marime bloc=04h

Camp de biti

Timp de asteptare

Index transparenta

Terminator de bloc=0h

Campul de biti, are urmatoarea semnificatie:

■ bitul 0 - daca este setat, atunci Index transparenta, contine o valoare valida pentru culoarea transparenta, altfel nu se citeste Indexul de transparenta;

■ bitul 1 - daca este setat, se va astepta apasarea unei taste, a unui click, pentru a se afisa urmatoarea imagine din fisier;

■ bitii 2-4 - indica metoda de afisare, unde cei doi biti pot lua valorile:

0 - cand nu este specificata nici o metoda;

-1 - afiseaza aceasta imagine peste cea anterioara;

-2 - se sterge imaginea anterioara cu culoarea de fond;

-3 - imaginea se va afisa sub imaginea anterioara;

■ bitii 5-7 - rezervati.

Timpul de asteptare, indica sutimile de secunda cat trebuie asteptat pentru ca urmatoarea imagine sa fie afisata. In caz ca este setat si primul bit din campul de biti (se asteapta apasarea unei taste, etc.), imaginea viitoare va fi afisata fie cand expira timpul fie cand intervine utilizatorul.

Blocul de text este folosit pentru a reprezenta textul nu ca imagini ci, pur si simplu, ca text. Lucrul acesta, este efectuat prin crearea unui 'grilaj', format din linii verticale si orizontale, in fiecare 'ochi' al 'grilajului', reprezentandu-se cate un simbol. Culorile de fond si cea de desenare a textului, sunt luate din Tabela de Culori Globale. Antetul unui astfel de bloc, este:

Nr. Octeti

Descriere

ID='!'(21h)

Eticheta=01h

Marime bloc=0ch

Coordonatele coltului stanga-sus (primii 2 octeti - coordonata stanga;
urmatorii doi octeti - coordonata sus)

Latimea textului

Inaltimea textului

Latimea unui caracter

Inaltimea unui rand

Index la culoarea textului

Index la culoarea fontului

Text

Terminator de bloc=0h

Latime/inaltime text, latime/inaltime caracter/rand, toate sunt exprimate in pixeli. Text, este textul care va fi afisat, nearhivat.

Blocul aplicatie este destinat programelor care afiseaza fisiere GIF, nu utilizatorului. Antetul acestui bloc, este:

Nr. de Octeti

Descriere

ID='!'(21h)

Eticheta=FFh

Marime bloc=0Bh

Identificatorul aplicatiei

Codul de identificare al aplicatiei

Indicator la sub-blocurile aplicatiei

Terminator de bloc=0h

Identificatorul aplicatiei, poate contine pana la 8 caractere ASCII standard (pe 7 biti, nu 8). Daca Identificatorul aplicatiei este recunoscut de programul care citeste fisierul GIF, atunci sub-blocurile aplicatiei sunt citite si datele interpretate; in caz ca acest indicator nu este recunoscut, se va sari peste acest bloc.

Codul de identificare, este o valoare care identifica aplicatia din bloc. Poate fi o serie, un cod ASCII, o versiune, care sa individualizeze in mod unic o aplicatie.
Indicator la sub-blocurile aplicatiei, contine codul aplicatiei, care trebuie sa fie descifrabil de programul care citeste fisierul.

Blocul comentariu - contine comentarii referitoare la fisier. Textul care apare ca si comentariu, nu va fi afisat odata cu imaginea, dar va putea fi citit de programe separat. Antetul unui astfel de bloc, este:

 Nr. Octeti

Descriere

ID='!'(21h)

Eticheta=FEh

Indicator la sub-blocurile de comentarii

Terminator de bloc=0h

Gif-ul este unul din cele doua tipuri de grafice web utilizate in mod deosebit in prezent. Celalalt este JPEG-ul. Potrivit metodelor diferite de folosire aceste doua formate de fisier utilizeaza comprimarea de date, si sunt adaptate la diferite tipuri de imagini; JPEG-urile sunt bune pentru imagini cu gradatii subtile de tonuri, cum sunt fotografiile iar GIF-urile sunt potrivite pentru imagini unde avem de-a face cu suprafete de culoare extinse (de exemplu acolo unde culoarea este constanta, cu relative schimbari precise intre culori). Deoarece publicitatea se bazeaza in mod frecvent pe design-uri clare, patrunzatoare, GIF-ul a devenit norma de utilizare pentru ads banner. Si sa nu uitam ca spre deosebire de JPEG, GIF-ul se poate misca!

GIF-urile (la fel ca si JPEG, TIFF, BMP -uri sau inca multe altele) sunt cunoscute ca fiind formate de grafica bitmapped. Aceasta inseamna ca ele descriu imagini in coordonatele unei grile de puncte sau pixeli. Numarul de puncte pe Inch ( dpi ) reprezinta rezolutia imaginii. Cand se tipareste o imagine, o rezolutie mai mare inseamna o imagine mai clara, mai exacta (300 dpi este rezolutia standard de tiparire). Cu toate acestea, monitoarele computerelor afiseaza totul la rezolutii relativ mici (monitoarele PC la 96 dpi, monitoarele MAc la 72 dpi ). Orice rezolutie mai mare decat aceasta este o inutila risipa de spatiu cu extra informatie care nu poate fi afisata - si care ingreuneaza in mod deosebit descarcarea paginii.

Compresia utilizata de GIF-uri este cunoscuta ca si compresie fara pierderi - informatia este pe deplin compatibila in procesul compresie-decompresie. Cand se salveaza o imagine ca GIF, se ofera optiunea de a o salva cu transparenta si/sau de a o face impletita (interlaced). Transparenta permite specificarea unei singure culori a imaginii care apare ca fiind transparenta, vazandu-se fundalul prin ea. Gif-urile impletite arata o versiune voalata a imaginii care se descarca, asa ca oamenii au o parare nu tocmai placuta despre o imagine mare fata de care nu au rabdarea sa se descarce in mod integral.

??????Gif-ul animat

Fisierele GIF au fost concepute sa permita animatia - pot contine o serie de cadre diferite care atunci cand sunt insirate impreuna, creeaza efecte de miscare. In functie de gusturile tale, GIF-urile animate pot fi la fel de bine de inspiratie divina sau cele mai suparatoare lucruri care fac ca cel ce le priveste sa se simta lovit in moalele capului. Trebuie sa fii constient de faptul ca GiF-urile animate pot sa creasca in mod semnificativ dimensiunea bannerului - dar daca esti atasat de ele, atunci poti sa vii direct in ghidul nostru de GIF-uri animate.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.