Sisteme de prelucrare grafică

Previzualizare laborator:

Extras din laborator:

In acest laborator vom examina formatul imagine BMP.

Dupa ce fotografia a fost captata ea este stocata intr-un format digital universal care

permite sa fie transferata la calculator, imprimanta sau TV. Exista o mare varietate de formate

de memorare a imaginii. Dintre cele mai des folosite se pot aminti: BMP, TIFF, EPS, JPG,

PNG, GIF, etc.

BMP (.BMP). In ultimii ani formatul BMP a devenit un standard important ca urmare

a faptului ca este utilizat sub Windows. Fisierele de format BMP se folosesc pentru a stoca

imagini, icon-uri, cursoare, pointeri si poate lista nu este completa. In continuare ne vom

focaliza atentia asupra formatului BMP pentru imagine.

Structura BMP

Formatul BMP este de uzanta generala astfel incat permite stocarea, intr-un fisier pe

disc, a unei imagini de orice dimensiune. Informatiile despre culoare pot sa varieze de la 1 bit

la 24 de biti. De asemena este suportata codificarea RLE (run length encoding - tehnica de

compresie) sub Windows. In ceea ce priveste modul de stocare, imaginea este inregistrata

linie cu linie pornind de jos in sus. Acest lucru nu prezinta nici o problema atunci cand este

necesara afisarea imaginii pe monitor folosind API-ul Windows. Problema reala apare in

cazul in care trebuie sa ne preocupam direct de datele stocate in fisier, respectiv atunci cand

trebuie sa facem conversia de format sau trebuie sa listam imaginea respectiva la imprimanta.

Un fisier BMP contine urmatoarele structuri de date:

BITMAPFILEHEADER bmfh; (contine informatii despre fisier, nu despre imagine

in sine)

BITMAPINFOHEADER bmih; (contine informatii despre bitmap cum ar fi: dimensiune,

numar de culori, etc)

RGBQUAD aColors[]; (contine tabela de culori)

Sisteme de prelucrare grafica Laborator nr.1

Componentele structurii BMP

In cadrul enumerarii urmatoare am respectat denumirile campurilor asa cum apar ele

in documentatia originala.

Structura BITMAPFILEHEADER este prezentata in tabelul 1.

Tabelul 1 - Structura BITMAPFILEHEADER

Start Dimensiune

(octeti) Nume Valoare

standard Scop

1 2 bfType 19778

Este un camp folosit pentru validarea

fisierului in ceea ce priveste faptul ca este

o imagine BMP. Pentru un fisier BMP

imagine acest camp contine totdeauna

valoarea ,,BM" provenind de la

prescuratarea ,,BitMap". Windows nu

suporta alte valori pentru acest camp pe

cand OS/2 permite existenta a sase valori.

Aceste sase valori indica practic ce

informatii contine fisierul: icon color, icon

mono, pointer mouse color si asa mai

departe.

3 4 bfSize ???? Specifica dimensiunea in octeti a fisierului.

7 2 bfReserved1 0 Neutilizat (trebuie mereu setat la 0).

9 2 bfReserved2 0 Neutilizat (trebuie mereu setat la 0).

11 4 bfOffBits ???? Indica offsetul, in octeti, de la inceputul

fisierului la inceputul bitmap-ului.

Structura BITMAPINFOHEADER este prezentata in tabelul 2.

Tabelul 2 - Structura BITMAPINFOHEADER

Start Dimensiune

(octeti) Nume Valoare

standard Scop

15 4 biSize 40 Specifica dimensiunea (in octeti)

structurii BITMAPINFOHEADER.

19 4 biWidth 100 Specifica dimensiunea in latime

(largime) a imaginii (in pixeli).

23 4 biHeight 100 Specifica dimensiunea in inaltime a

imaginii (in pixeli).

27 2 biPlanes 1 Specifica numarul de planuri (=1).

29 2 biBitCount ????

Reprezinta numarul de biti folositi

pentru stocarea informatiei despre un

pixel (se mai numeste si adancime).

Valorile corecte pentru acest camp

sunt 1, 4, 8, 16 si 24.

1 = monocromatic (alb/negru). Numar

de culori=1.

4 = paleta de 4 biti. Numar de culori =

Sisteme de prelucrare grafica Laborator nr.1

16.

8 = paleta de 8 biti. Numar de culori =

256.

16 = paleta de 16 biti. Numar de culori

= 65536.

24 = paleta de 24 biti. Numar de culori

= 16M (16.7 milioane de culori).

31 4 biCompression 0 Specifica tipul compresiei. Uzual este

setat la 0 (fara compresie).

35 4 biSizeImage ???? Specifica dimensiunea in octeti a

imaginii.

39 4 biXPelsPerMeter 0 Rezolutia pe orizontala (pixeli/metru)

43 4 biYPelsPerMeter 0 Rezolutia pe verticala (pixeli/metru)

47 4 biClrUsed 0

Numarul actual de culori utilizate.

Daca este setat la 0, numarul de culori

utilizate este calculat utilizand

numarul din biBitCount.

51 4 biClrImportant 0

Numarul de culori importante pentru

bitmap. Daca este setat la 0 atunci

toate culorile sunt importante.

In cazul in care imaginile utilizeaza 4 sau 8 biti pe pixel trebuie sa avem o paleta de

culori. Numarul valid de culori cuprinse in aceasta paleta variaza dupa cum urmeaza: 16 si

respectiv 256 dar pana la urma ele pot fi mai mici daca imaginea nu face uz de toate culorile

posibile. In cazul in care se folosesc 24 de biti pe pixel avem de-a face cu o imagine full-color

care nu mai necesita o paleta de culori.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Sisteme de prelucrare grafica
    • L1_SPG.pdf
    • L2_SPG.pdf
    • L3-SPG.pdf
    • L4-SPG.pdf
    • Lab5-SPG.pdf
Alte informații:
Tipuri fișiere:
pdf
Diacritice:
Da
Nota:
10/10 (1 voturi)
Nr fișiere:
5 fisiere
Pagini (total):
47 pagini
Imagini extrase:
47 imagini
Nr cuvinte:
9 781 cuvinte
Nr caractere:
54 660 caractere
Marime:
1.15MB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Calculatoare
Tag-uri:
grafica, programare
Predat:
la facultate
Materie:
Calculatoare
Sus!