In mare sunt formate de fisiere imagine ce au la baza metode de compresie specifice. Sunt cele mai populare si utilizate.
jpg utilizeaza in compresie cateva milioane de culori (10 la 24) la fel si formatul png-24
gif poate utiliza o paleta de doar 256 de culori la un moment dat (la fel si png-8);
png – 24 are suport pentru opacitate si transparenta facandu-l deosebit de util in realizarea diferitelor efecte grafice css. Din pacate ie6 nu are suport pentru asa ceva iar rezultatul va fi umplerea spatiului transparent cu aceeasi culoare a tagului body. Exista o serie de tehnici pentru a putea “implementa” cu succes imaginile png in IE6 insa ele se bazeaza pe proprietatea filter a browserelor Microsoft deci succesul nu este 100% garantat
GIF este singurul capabil sa suporte animatii (in aceleasi conditii de 256 de culori /frame)
algoritmul de compresie JPG are dezavantajul de a micsora calitatea unei imaginii cu fiecare noua procesare. (daca nu ma insel si gif are aceeasi problema). De aceea deoarece algoritmul PNG nu are aceasta problema este indicat pentru salvarea intermediara a imaginilor inainte de publicare.
de asemeni algoritmul PNG se bazeaza pe predictibilitate facand-ul deosebit de util in compresia gradientelor liniare si a effectelor derivate (lista ar putea continua).
Care e cel mai bun format ?
Practic cele 3 formate sunt indispensabile si un interfata web ar trebui sa le aiba in vedere. De ce?
JPG este cel mai potrivit pentru compresia fotografiilor. Algoritmul sau este recomandat pentru acest tip de fisiere returnand fisierele cele mai mici.
PNG este util atat pentru transparenta si opacitate cat si in compresia acelor imagini generate digital (gradiente si efecte in photoshop, texte), in generale acele imagini “sharp”. O comparatie intre un jpg si un png ce codeaza aceeasi imagine (cu caracteristicile de mai sus) va arata urmatoarele:
imagine jpg este pixelata in jurul elementelor grafice
algoritmul predictibil png va returna fisierul cel mai mic (observatie: Daca insa se incearca codarea unei fotografii png rezultatul va fi tocmai invers – deoarece algoritmul jpg “aproximeaza” suprafetele adiacente, pe cand png din va avea probleme in a fi suficient de “predictibil” )
Comparand png-8 si gif, rezultatul este ca greutatea fisierelor va fi uros mai mica in cazul png, dar sa nu uitam ie6 are probleme cu transparenta si opacitatea png-urilor si in plus gif-ul este capabil sa “afiseaze” animatii.