Sunteți pe pagina 1din 35

Bazele graficii pe calculator

• Pixeli şi coordonate

• Pixel-data şi palete

• Culori

• Suprapuneri şi transparenţă

1
Pixeli şi coordonate
• La o imagine se stochează informaţii despre punctele ei. În
funcţie de cât de dese sunt aceste puncte avem imagini mai
bune sau mai slabe calitativ
– Rezoluţia unei imagini se exprimă în
pixeli/unitate-de-lungime

• Trebuie avut în vedere că şi ecranul monitorului este format


din puncte luminoase

• Avem deci două tipuri de puncte: pixeli logici şi fizici.

2
Pixeli şi coordonate
• Pixelii fizici sunt cei ai ecranului monitorului.
– De fapt sunt trei puncte colorate pe care ochiul le percepe de la
distanţă ca o singură entitate colorată.

– Putem deci vorbi despre “rezoluţia ecranului”. Monitoarele de


calculator au o rezoluţie mai mare decât cele televizoarele.

– Dacă se încearcă “înghesuirea” pixelilor fizici pe ecran se poate ajunge


la pierderea clarităţii.

3
Pixeli şi coordonate
• Pixelii logici sunt cei cu care lucrează calculatorul.
– Ei sunt de fapt coordonate cărora li se atribuie proprietăţi şi nu sunt
presupuşi a ocupa spaţiu.

4
Pixel-depth şi palete
• Pixel depth
– “adâncimea” pixelului înseamnă două lucruri: cât spaţiu de memorie
ocupă un pixel şi, legat de aceasta, câte culori diferite poate lua un
pixel.
– Este condiţionat şi de capacitatea monitorului de a afişa un număr
mare de culori diferite.
– Toate monitoarele pot acum afişa 16 milioane de culori (ceea ce
înseamnă 24 de biţi pentru fiecare pixel).
– Pentru o imagine alb-negru sunt suficiente 255 de tonuri de gri (ceea
ce înseamnă 8 biţi per pixel) iar pentru imaginile care au numai alb pur
şi negru pur (grafice ştiinţifice, text) este suficient 1 bit per pixel.

5
Culoare
• De multe ori numărul de culori pe care le au pixelii imaginii
(pixelii logici!) diferă de numărul de culori pe care le poate
afişa monitorul (pixelii fizici!)
• În general nu sunt probleme dacă numărul de culori ai
monitorului este mai mare:

6
Culoare
• Invers, asistăm la pierdere de informaţie vizuală din cauza
paletei mici de culori a monitorului. De cele mai multe ori
apar zone colorate ciudat, efecte numite “banding” şi “Moire
patterns”.

7
Culoare- Moiré patterns
Interferenţă spaţială între două reţele de puncte

8
Culoare- Banding effect
O variaţie continuă a culorii într+o imagine este înlocuită prin variaţii bruşte

Imagine iniţială

Banding effect

9
Culoare
• Ochiul nu poate percepe culoarea unui obiect prea mic. Un pixel fizic al
monitorului are mai puţin de o treime de mm iar culoarea este de fapt
făcută prin alăturarea a trei pixeli fizici – unul Roşu, unul Verde şi unul
Albastru.

• Principalul efect al combinării culorilor unor pixeli prea apropiaţi este


afişarea diferită a unei aceleiaşi imagini pe diferite monitoare.

• Mai mult, o imagine imprimată pe hârtie va diferi de una afişată pe ecran.

• Sisteme de reprezentare a culorilor (RGB, CMY, HSV) sunt bazate pe trei


valori numerice (de ex. pentru Red, Green şi Blue) fiecare dintre aceste
valori fiind între 0 şi 255.

10
Culoare
• De exemplu:
Alb RGB(255,255,255) CMY(0,0,0) HSV(160,0,240)
Gri RGB(127,127,127) CMY(127,127,127) HSV(160,0,120)
Roşu RGB(255,0,0) CMY(0,255,255) HSV(0,240,120)

• RGB – este un sistem ADITIV – precizează intensitatea celor


trei culori (Roşu, Verde şi Albastru) care se adună.

11
Culoare
• De exemplu:
Alb RGB(255,255,255) CMY(0,0,0) HSV(160,0,240)
Gri RGB(127,127,127) CMY(127,127,127) HSV(160,0,120)
Roşu RGB(255,0,0) CMY(0,255,255) HSV(0,240,120)

• CMY – este un sistem SUBSTRACTIV


folosit mai ales la imprimante şi în
fotografie – precizează cât Cyan, Magenta
şi Yellow trebuie scăzut din alb pentru a
obţine culoarea dorită. Are probleme cu
negrul (după ce se extrag maxim posibil
din C, M şi Y nu rămâne negru) şi de
aceea se foloseşte un sistem de patru
culori CMYK – unde K este proporţia de
BlacK. 12
Culoare
• De exemplu:
Alb RGB(255,255,255) CMY(0,0,0) HSV(160,0,240)
Gri RGB(127,127,127) CMY(127,127,127) HSV(160,0,120)
Roşu RGB(255,0,0) CMY(0,255,255) HSV(0,240,120)

13
Culoare
• De exemplu:
Alb RGB(255,255,255) CMY(0,0,0) HSV(160,0,240)
Gri RGB(127,127,127) CMY(127,127,127) HSV(160,0,120)
Roşu RGB(255,0,0) CMY(0,255,255) HSV(0,240,120)
• HSV – nu se bazează pe combinarea
culorilor ci pe modificarea
proprietăţilor lor. Hue specifică
culoarea “pură”. Saturation specifică
proporţia de alb din acea culoare
(S=100% sau S=255 înseamnă
culoare pură, fără combinare cu alb).
Value (sau Brightness) specifică
luminozitatea (V=0 înseamnă negru
indiferent de H sau S). 14
Suprapuneri şi transparenţă

• Imaginile sunt de obicei opace în sensul că dacă peste un pixel


al unei imagini suprapunem alt pixel de la altă imagine
rezultatul va fi un pixel de culoarea celui de al doilea – primul
este “uitat”.

• Un nou sistem – RGBT cu două tipuri de transparenţă:

• T 0 sau 1. Dacă T=0 e opac iar dacă T=1 pixelul este neglijat şi
este afişat cel de “sub” el.

15
Suprapuneri şi transparenţă

• T între 0 şi 255. Dă proporţia de combinare a pixelului curent cu


cel de sub el.

• Informaţiile despre transparenţă pot fi stocate sau împreună cu


cele despre culoare (în ordine:
R1, G1, B1, T1, R2, G2, B2, T2, …, Rn, Gn, Bn, Tn) sau separat, ceea ce
permite manipularea separată a “măştii de transparenţă” faţă
de culoare:
R1, G1, B1, R2, G2, B2, …, Rn, Gn, Bn, T1, T2, …, Tn
unde, de exemplu, R2 sunt informaţiile despre culoarea roşie a
pixelului numărul 2.
16
Bitmap (*.BMP)

• Aşa cum am descris până acum culorile am acoperit de fapt


formatul BITMAP pentru imagini.

• Alcătuite din:
– Antet
– Informaţii despre culoare
– Alte informaţii

17
Bitmap (*.BMP)
• Antetul conţine informaţii despre:

• Tipul fişierului (BMP, GIF, TGA, TIFF)


– Au fost ceva probleme când s-au modificat unele standarde (de
exemplu unii producători de soft au modificat standardul GIF pentru a
adăuga unele facilităţi noi).
• Descrierea imaginii
– lungimea şi înălţimea
– numărul de pixeli (logici) pe linie şi pe coloană
• Tipul de compresie folosit
– de ex. pentru TIFF - format care pot avea sau nu compresie

18
Bitmap (*.BMP)
• Originea
– De obicei este (0,0) şi sistemul de operare decide (după alte criterii)
unde să afişeze imaginea

• Urmează informaţiile despre culoare. Pixelii sunt luaţi în


ordine şi informaţiile sunt stocate în această zona a fişierului
BMP. Ordinea poate diferi:

19
Bitmap (*.BMP)

20
Bitmap (*.BMP)
• Avantaje ale formatului bitmap.
– Bitmap sunt uşor de re-creat pe ecran pornind de la fişierul stocat în
memorie.

– Structurarea pixelilor într-o grilă permite utilizarea coordonatelor


pentru a regăsi, extrage, modifica rapid pe oricare dintre ei.

– Folosirea paletei permite şi modificarea simultană a proprietăţilor


unor grupuri mari de pixeli.

– Se transformă foarte bine (fără pierderi) în fişiere pentru imprimantă.

21
Bitmap (*.BMP)
• Dezavantaje ale formatului bitmap.
– Pot fi foarte mari în special când nu sunt comprimate. Comprimarea
poate ajuta la micşorarea spaţiului ocupat de date dar utilizarea lor
devine mai dificilă (se încetineşte afişarea pentru că trebuie de fiecare
dată de-comprimate). De asemenea, cu cât sunt mai multe culori cu
atât mai puţin eficient este algoritmul de compresie.

– Nu se scalează bine. Încercările de a micşora imaginea duc la pierderea


unor pixeli în timp ce mărirea duce la reprezentarea pixelilor logici pe
mai mulţi pixeli fizici ai ecranului rezultând o imagine formată din
pătrăţele colorate.

22
Fişiere vector
• Un fişier bitmap conţine într-un fel sau altul structura
exactă a pixelilor care poate fi ulterior reconstruită pe
ecran de o aplicaţie specializată.

• Prin contrast, fişierele grafice “vector” conţin descrieri


matematice a unui sau mai multor elemente de imagine.
• Fişierele grafice vectoriale sunt deci alcătuite din
descrieri a unor obiecte nu din valori numerice ale
pixeliilor.

23
Fişiere vector
• Vectorii în general trebuie văzuţi ca segmente drepte
definite minim prin punct de start, direcţie şi lungime.
• În caz fişierelor vector grafice vectorii pot fi mult mai
compleşi şi pot include şi linii curbe.
• Folosind aceste linii se pot defini structuri geometrice de
bază (cercuri, patrulatere, poligoane) care la rândul lor
sunt folosite la crearea unor structuri geometrice mai
complexe (sfere, poliedre).

24
Fişiere vector

• Istoric, fişierele vector au apărut primele, înaintea


fişierelor bitmap din cauză că display-urile au fost
capabile mai întâi să reprezinte linii şi abia mai apoi pixeli
coloraţi.

• Cea mai importantă caracteristică a lor este că sunt


“device independent”.

25
Fişiere vector

• Dacă fişierele bitmap conţineau un “header” urmat de


informaţii despre fiecare pixel, fişierele grafice vector
conţin după header informaţii de genul:

;CIRCLE,40,100,100,BLUE;LINE,200,50,136,227,BLACK;RECT,80,65,25,78,RED;

26
Fişiere vector

• De cele mai multe ori fiecare element are două culori


ataşate – culoarea conturului şi cea cu care este umplut.
• Culoarea de umplere poate fi reprezentată în mai multe
feluri, de la cel mai simplu – “solid color” la “pattern” sau
“gradient”.

27
Fişiere vector

• Din aceste motive mărimea fişierelor vector este


proporţională cu numărul de elemente ale imaginii.

• Prin contrast, mărimea fişierelor bitmap nu este


influenţată de complexitatea imaginii reprezentate.

28
Compresie JPEG

29
Compresia JPEG
• Compresia JPEG este (spre deosebire de alte formate)
este o compresie care determină PIERDERI ireversibile de
calitate.
• (se împarte imaginea în blocuri de 8x8 pixeli care sunt
analizaţi prin intermediul unei matrice)
Imagine Impărţire Transfor- Sub- DCT-Trans-
în blocuri marea formare Cuantificare Codare
iniţială eşantionare
de pixeli culorilor numerică

Compresie JPG
Imagine
comprimată
Decompresie JPG

Imagine Impărţire în Transfor- DCT


blocuri de marea Supra- Cuantificare Decodare
finală eşantionare invers inversă
pixeli culorilor
Compresia JPEG

• Ideea împărţirii în grupuri de 8x8 pixeli (grupuri în care se


“mediază” apoi culoarea şi strălucirea) provine de la
aceeaşi idee de bază conformă căreia ochiul oricum nu
poate detecta culoarea zonelor prea mici.

• Desigur, dacă “medierea” respectivă este prea intensă


(de exemplu dacă se atribuie o singură culoare tuturor
celor 64 de pixeli) apar “defecte” vizibile.

31
Compresia GIF (LZW)

• GIF este un format “FĂRĂ PIERDERI”.

• Ideea este de a se folosi numai 256 de culori şi de a se


nota culorile pentru fiecare grup de pixeli:

1-15,NEGRU;16-60,VERDE;61-63;CREM;64-100,VERDE;

32
Compresia GIF

• Modificările importante de culoare determină ca GIF să


nu poată fi folosit pentru fotografii (unde este
recomandat JPEG).
• Faţă de JPEG avem alte avantaje:
– perfect pentru imagini ce conţin numai text şi grafice alcătuite
din linii negre.
– poate include transparenţă! (JPEG nu poate)
– un GIF poate conţine mai multe imagini permiţând ANIMAŢII!
(JPEG nu poate)

33
Rată tipică de
Format compresie Descriere
Fără pierderi pentru imagini cu un număr
GIF 4:1 - 10:1 mai mic de 256 de culori. Text sau imagini
alb-negru.
JPEG (High) 10:1 - 20:1 Calitate înaltă- are puţine pierderi pentru
imagini cu tonuri continue în original.
JPEG 30:1 - 50:1 Calitate moderată, cea mai bună alegere
(Medium) pentru web.
JPEG (Low) 60:1 - 100:1 Calitate slabă + pixelizare.

PNG 10-30% mai PNG se comportă similar cu GIF.


mic decât GIF

34
Virusi in fisiere grafice

• Am vazut ca atat fisierele grafice bitmap cat si cele vector contin pe langa
informatiile propriu-zise despre pixeli sau despre alte elemente
constituiente si ceea ce am numit “alte informatii” stocate de obicei in
header-ul fisierului.

• Aceste informatii suplimentare pot fi chiar


virusi!

35

S-ar putea să vă placă și