nav_dugme codeBlog codeBlog
  • početna Početna stranica
  • Sačuvani članci Sačuvani članci
  • Članci
     (spisak)
  • Kontakt
Povratak na vrh stranice

Info & povezani članci Info o članku - dugme

Info

trejler_sat Datum objave: 19.10.2020.

trejler_olovka Poslednja izmena: 25.02.2025.

trejler_dokument Jezici: ----

trejler_teg_narandzasti Težina: 4/10

grafika
fontovi
web dizajn
internet
boje
rgb
frontend
zanimljivosti

Povezani članci

Aritmetika boja i režimi preklapanja u programima za obradu fotografijaFontovi u web dizajnu (osnove tipografije)Uvod u web dizajn - 1. deo - Početni koraciASCII, Unicode i UTF - Predstavljanje znakova na računarimaUvod u PythonUvod u JavaScript i DOM (Document Object Model)Pozicioni brojevni sistemiUpotreba specijalnih znakova u HTML datotekamaOperacije sa bitovima u programskom jeziku CKako napraviti dobru lozinku
Svi članci
Abstraction is the elimination of the irrelevant and the amplification of the essential.
Robert C. Martin

Osnove računarske grafike i formati slika u web dizajnu

Facebook LinkedIn Twitter Viber WhatsApp E-mail
zoom_plus zoom_minus bookmark
početna > Članci > Zanimljivosti

Uvod

Članak u kome smo detaljno diskutovali o fontovima, u idejnom smislu predstavlja dodatak mini-serijalu članaka o web dizajnu (ali isto tako i samostalan članak o zanimljivoj temi), a isto važi i za novi članak koji je pred nama, u kome ćemo diskutovati o računarskoj grafici i formatima slika.

Kada je u pitanju upotreba slika u web dizajnu, u današnje vreme postoji veći broj popularnih grafičkih formata ("i svi su dobri"), ali, u praktičnom smislu nije svejedno koji format se koristi za određeni zadatak, to jest (drugim rečima), iole pažljivijim sagledavanjem tehničkih specifikacija različitih formata, prilično je lako uvideti da određeni format - u određenim okolnostima - ipak predstavlja bolji izbor od nekog drugog formata.

Za početak (pre nego što se upoznamo sa različitim grafičkim formatima i sa razlozima za korišćenje određenog formata shodno situaciji), upoznaćemo se sa samim osnovama računarske grafike ....

Osnove računarske grafike

U opštem smislu, termin "rasterska grafika" odnosi se na princip kreiranja statičnih ili pokretnih slika u vidu matrice obojenih "piksela", i praktično je u pitanju model na kome se zasniva prikaz slike na računarskim monitorima.

Piksel se može shvatiti kao najmanji deo rasterske slike * kome se može pripisati boja, a sama skraćenica piksel, označava 'element slike' (eng. picture element).

Moglo bi se reći da je piksel u idejnom smislu 'tačka', ali, u praktičnom smislu (kao što možemo videti na slici ispod), ** piksel je zapravo kvadrat male površine, sa precizno definisanom pozicijom u pravougaonoj matrici, u kojoj su i ostali 'obojeni kvadrati' ravnomerno raspoređeni u redove i kolone.

formati_slika_01
Slika 1. - Slika na monitoru je matrica piksela sa određenim brojem redova i kolona. U praktičnom smislu, prikazana strelica 'ne deluje dobro', ali, ukoliko se slika umanji na 50% veličine (probajte u browseru), ili, još bolje - manje od 50%, videćete da se prikaz znatno poboljšao.

Međutim, pre nego što bude prikazana na ekranu (ili odštampana), slika u računarskoj memoriji može biti definisana i u vidu kolekcije grafičkih objekata koji su (svaki za sebe) zapisani preko geometrijskih funkcija (odnosno, preko matematičkih jednačina).

U pitanju je tzv. vektorska grafika, o kojoj ćemo takođe napisati koju reč (nešto kasnije u članku), ali, slika koja se vidi na monitoru je (kao što smo već naveli) uvek rasterska.

* Raster je termin koji označava sistem u kome su pojedinačne ćelije pravilno raspoređene u redove i kolone (kao npr. na slici #1). Poreklo termina je donekle neizvesno, ali, smatra se da sama reč potiče iz latinskog jezika (i označava grabulje), i smatra se da se termin "raster" u modernom kontekstu upotrebe javlja sa pojavom specijalno izrađenih viljuški koje su u prethodnim vekovima korišćene za iscrtavanje notnih linija.

** Konkretne dimenzije piksela su (razume se) znatno manje u odnosu na dimenzije koje su prikazane na slici #1.

(O dimenzijama i drugim konkretnim svojstvima piksela, više ćemo pisati u narednim odeljcima).

Rezolucija slike

U osnovnom tehničkom smislu, ukupan broj piksela rasterske slike - koji se dobija množenjem broja piksela po širini sa brojem piksela po visini (ekrana ili rasterske slike u opštem smislu) - predstavlja rezoluciju slike.

U praktičnom smislu, u svemu se mora uzeti u obzir i veličina i gustina piksela (tema jednog od sledećih odeljaka), a u još praktičnijem smislu, može se reći da rezolucija predstavlja sposobnost prikazivanja ili očuvanja detalja (odnosno, vizuelnih informacija), što ćemo pojasniti preko primera.

Ako pogledamo sledeću sliku:

Tvrđava

.... gotovo je sigurno da nećemo biti u stanju da prepoznamo šta je (zapravo) prikazano (iako se verovatno da naslutiti).

Ako kliknemo na sliku i otvorimo je u većoj rezoluciji (kliknite na sliku), može se jasno prepoznati koja tvrđava je u pitanju - iako rezolucija ni izdaleka nije velika shodno modernim standardima.

Što je rezolucija veća - moguće je prepoznati sve više i više detalja:

  • rezolucija 96x48 piksela jedva da omogućava prepoznavanje sadržaja (može se naslutiti "o čemu se radi", ali, ipak ne možemo prepoznati sa sigurnošću)
  • slika koja se otvara preko 'klika' (iako je rezolucija relativno mala), već omogućava da se prepoznaju opšte odlike 'pejzaža' i mnogi detalji: jasno je o kom gradu se radi, jasno je o kom delu grada se radi, prepoznaju se konture brodova i sl.
  • ako bi rezolucija slike bila dovoljno velika da zauzme ceo ekran (što naravno ne možemo simulirati time što bismo sliku samo "zumirali" preko celog ekrana), sasvim bi bilo moguće prepoznavati konture šetača na šetalištu i sl, a ako bi rezolucija bila još 10 puta veća, bilo bi moguće prepoznavati i lica, kao i mnoge druge detalje

Sigurni smo da se sa terminom "rezolucija" ne srećete prvi put, i (generalno), kada je rezolucija slike u pitanju, stvari funkcionišu po principu: "što više - tim bolje" (što više piksela, što veća gustina piksela).

Međutim, povećanje rezolucije sa sobom svakako povlači i povećanje datoteka (a veće datoteke zahtevaju i više vremena za obradu i/ili korišćenje bržih procesora), i stoga se po pitanju rezolucije ipak moraju ustanoviti razumne granice.

Pored izražavanja rezolucije preko dve vrednosti (širina x visina), poslednjih godina postalo je popularno da se rezolucije senzora foto-aparata označavaju brojem "Megapiksela" (ukupan broj piksela; širina x visina; izraženo u milionima), * kao i to da se rezolucije video-klipova navode samo preko visine slike (720p, 1080p, 2160p i sl). **

* U trenutku pisanja ovog članka, tipična rezolucija računarskih ekrana "i dalje" iznosi 1920 x 1080 piksela (širina x visina), a tipična rezolucija senzora foto-aparata iznosi između 10 i 20 Megapiksela.

** Iako se širina video klipova (naravno) "ne krije", prvo se mora primetiti da različiti video klipovi imaju različite proporcije: fotografije tipično imaju proporcije 4:3, 16:9 i sl, bioskopski filmovi standardno imaju proporcije slike 2.35:1, ali, amaterski video klipovi (sa društvenih mreža i sl) - koji ne podležu standardizaciji - pojavljuju se u najrazličitijim proporcijama.

Shodno navedenom, visina slike je najčešće sasvim dobar pokazatelj ukupne rezolucije (čija prava vrednost na kraju zavisi još i od širine).

Osnove RGB modela

Pošto smo se već upoznali sa pojmom piksela, utvrdivši pri tom da je u pitanju najmanji deo slike kome se može pripisati boja (kao i to da pikseli - u praksi - nisu tačke u geometrijskom smislu), postavlja se pitanje, kako (tačno) se definiše boja određenog piksela.

Na računarskim monitorima, * boja piksela nastaje mešanjem tj. 'dodavanjem' crvene (Red), zelene (Green) i plave (Blue) boje, čemu odgovara skraćenica "RGB" (sa kojom ste se, verujemo, takođe sreli više puta do sad).

U nastavku, prikazaćemo kako opisani model funkcioniše u praksi ....

* Pre nego što se osvrnemo na to kako (u okviru RGB modela) nastaju različite nijanse, napomenimo usput da smo se u ovom članku usmerili na prikaz slike na monitorima - budući da je članak posvećen računarskoj grafici.

U drugim okolnostima (recimo, u štampi), slika se formira preko drugačijih modela koji se ne poklapaju 'obavezno' sa RGB modelom (tipično se u štampi koristi model CMYK), ali, to je jedna od tema kojima ćemo se detaljnije posvetiti nekom drugom prilikom.

Zapis boja u računarskim programima

U različitim programima, boje se definišu navođenjem pojedinačnih RGB vrednosti.

Jedan od načina, podrazumeva navođenje tri nezavisne dekadne vrednosti, međutim, boje se mogu definisati i preko heksadekadnog zapisa, koji je ekonomičniji.

Pogledajmo nekoliko tipičnih primera:

naziv RGB hex boja
crna (0, 0, 0) #000000
bela (255, 255, 255) #ffffff
crvena (255, 0, 0) #ff0000
zelena (0, 255, 0) #00ff00
plava (0, 0, 255) #0000ff
žuta (255, 255, 0) #ffff00
ciklama (255, 0, 255) #ff00ff
cijan (0, 255, 255) #00ffff
Slika 2. - Različite varijante zapisa nekoliko 'uobičajenih' boja.

Kao konkretan primer iz oblasti web-dizajna, može poslužiti sledeći CSS kod preko koga se različitim elementima web stranice zadaje boja:

		
#element_01 {
	color: #f08050;
}

#element_02 {
	color: RGBA(240, 128, 80);
}
		
	
Slika 3. - Primer zadavanja boja HTML elementima, preko CSS-a.

U jednom od ranijih članaka objasnili smo da je RGB model "aditivni model", odnosno, model u kome boja nastaje "dodavanjem", crvene, zelene i plave komponente - na crnu.

Preko donjeg formulara, možete sami isprobati kako 'miksanje boja' funkcioniše u praksi:

Šta je (zapravo), 'poenta' heksadekadnog zapisa boja?

Na slikama #2 i #3 videli smo da zapis boja preko pojedinačnih vrednosti može biti jednostavan, ali, na formularu za mešanje boja smo mogli zapaziti tri nezavisna polja sa pojedinačnim vrednostima.

Ukratko: Iako je ponegde "dekadni" RGB zapis objedinjen - vrlo često nije, a hex zapis se (sa druge strane) gotovo uvek obavlja onako kako smo videli na dva gornja primera, i stoga, ukoliko je potrebno kopirati RGB vrednosti određene boje, iz "jednog programa u drugi", "razjedinjeni" RGB zapis najčešće podrazumeva uzastopno kopiranje (ili pamćenje) tri nezavisne vrednosti, dok hex zapis podrazumeva kopiranje jedne vrednosti.

Razlike nisu "dramatične" ili "zabrinjavajuće", ali (da ponovimo), "hex zapis" je ipak ekonomičniji. :)

Dubina boje (bit-depth)

Dani crno-belih monitora su za nama ('već neko vreme' :)), a dani kada će monitori prikazivati zaista beskonačan broj nijansi, još uvek se ne naziru. Međutim, u praktičnom smislu, moderni monitori su u stanju da prikazuju kvalitetne slike sa veoma velikim brojem nijansi.

Izraz 'dubina boje' (pomalo čudan prevod engleskog termina "bit-depth"), odnosi se na broj mogućih nivoa ('zastupljenosti') svake od tri boje (crvene, zelene ili plave), to jest, u tehničkom smislu, odnosi se na broj bitova, po kanalu, preko kojih se određuje nivo zastupljenosti boje.

Tipično se u računarskoj grafici sreću formati koji koriste 8 ili 16 bita po kanalu (4 bita po kanalu je prevaziđeno, a 32 bita po kanalu još uvek nije praktično za korišćenje (i objektivno je nepotrebno u mnogim situacijama)).

U prethodnom odeljku (na formularu za 'mešanje' boja), sreli smo se sa ("i dalje najtipičnijim"), 8-bitnim modelom: svaka od tri osnovne boje, zastupljena je u 256 'nivoa'.

Ako se neko od čitalaca pita šta je 'poenta' različitih "dubina boje", na donjoj slici možemo videti (prilično očiglednu) razliku u prikazu gradijenata, za koje je korišćeno: 8-bita po kanalu, tj. 256 nivoa zastupljenosti crvene boje (levi deo slike), i 4-bita po kanalu, tj. 16 nivoa zastupljenosti (desni deo slike).

formati_slika_01
Slika 4. - Mogući broj boja po kanalu definisan je brojem bitova preko kojih se ostvaruje zapis (na slici se vidi razlika između: 8-bitnog zapisa (koji omogućava korektan prikaz gradijenta), i umanjenog kvaliteta prikaza koji je svojstven 4-bitnom zapisu (gde nema pravog gradijenta, i stoga su "skokovi" očigledni)).

U svemu navedenom, bitan je i 'medijum' na kome se pikseli prikazuju ....

LED diode preko kojih se praktično definišu pikseli na računarskim ekranima, u stanju su da prikažu (pojedinačno) 256 nivoa osvetljenja (28 = 256), a budući da se svaki piksel sastoji od tri diode, odnosno, budući da se za prikaz boja koriste tri kanala (RGB), možemo pomnožiti navedenu vrednost tri puta: 256 * 256 * 256, što kao rezultat daje oko 16.7 miliona - što je svakako veoma veliki broj mogućih nijansi.

Razlika između 8-bitnog i 16-bitnog modela nije "nevažna" (16-bitni ili 32-bitni zapis veoma dobro dođe u ozbiljnijim programima za obradu fotografija, kada npr. treba obraditi problematične detalje u najsvetlijim ili najtamnijim partijama), ali, praktično nije moguće prikazati pravi smisao navedenih razlika preko jednostavnih osmobitnih slika.

Kako nastaje slika na monitorima

Što se tiče konkretne izvedbe (na modernim LCD monitorima), svaki piksel je zapravo realizovan preko tri LED diode (praktično - veoma male "lampice"), koje svetle crvenom, zelenom i plavom bojom, u nekom od 256 mogućih nivoa jačine svetlosti.

Različiti ekrani imaju različite fizičke dimenzije, čak i kada ih odlikuje isti broj piksela po širini i visini, što znači da postoje razlike i u veličini samih piksela (sistem od tri diode, koliko god bio mali, ima realne dimenzije, a više godina unazad tipična veličina piksela na desktop monitorima je oko 0.2mm).

formati_slika_01
Slika 5. - Na računarskim monitorima, pikseli su realizovani preko tri LED diode (tj. "lampice"), koje svetle crvenom, zelenom i plavom bojom.

Gustina piksela određena je brojem piksela po jedinici površine, i (naravno), velika gustina piksela povoljno utiče na "oštrinu" slike (tj. precizan prikaz vrlo malih objekata/tankih linija i sl), što se u današnje vreme najbolje može zapaziti na kvalitetnim mobilnim uređajima, na kojima male ikone (i drugi slični objekti manjih dimenzija), tipično izgledaju znatno bolje nego na desktop monitorima. *

* Najprostije rečeno, nije svejedno da li sliku rezolucije 1080p posmatramo na ekranu dijagonale ~50cm, ili na ekranu dijagonale ~15cm (pri čemu je, u oba slučaja, u pitanju 'prirodna' rezolucija ekrana).

Ukratko o vektorskoj grafici

Iako je grafika na monitoru uvek rasterska (kao što smo na početku naveli), "ispod haube" (u internim proračunima u programima), moguće je grafičke objekte definisati i na drugi način, pre nego što budu iscrtani na ekranu.

U vektorskoj grafici objekti se definišu preko matematičkih formula koje opisuju prave (tj. 'izlomljene') i krive linije, a potom se takvi objekti projektuju na likoravan ekrana, pri čemu (pogađate) dolazi do rasterizacije prikaza.

formati_slika_01
Slika 6. - U vektorskoj grafici, objekti su definisani na geometrijski besprekoran način (narandžasta strelica), ali, pri rasterizaciji, dolazi do umanjenja kvaliteta prikaza (najčešće je prikaz sasvim korektan, međutim, ukoliko je rezolucija mala, efekat rasterizacije može biti 'očigledan', kao na slici #1).

Rasterizacija je proces u kome se idealno prava ili idealno zakrivljena linija projektuje na mrežu piksela.

Figurativno, možemo zamisliti da na gornjoj slici vidimo grafički simbol koji je definisan preko matematičkih formula, dok na prvoj slici u članku vidimo isti objekat koji je projektovan na likoravan ekrana.

U stvarnosti, nijedna od dve slike ne prikazuje vektorski crtež strelice: druga slika samo ima dovoljno veliku rezoluciju, i stoga deluje zakrivljeno i "nimalo kockasto", dok je na slici #1 prikazano kako bi sličan grafički simbol izgledao kada bi rezolucija bila vrlo mala (s tim da bi svakako i fizičke dimenzije bile manje).

Sa rasterizacijom vektorskih slika zapravo se susrećemo veoma često, iako toga možda niste svesni (na primer, u poslednjih nekoliko minuta koliko čitate ovaj članak, već ste videli nekoliko hiljada rasterizovanih vektorskih simbola!).

Naravno, u pitanju je prikaz teksta. :)

Font - vektorska grafika
Slika 7. Fontovi su tipično dizajnirani kao objekti vektorske grafike.

Fontovi koji se koriste za prikaz slova, definisani su po principima vektorske grafike, odnosno: ista kolekcija ravnih i zakrivljenih linija koja definiše jedno slovo, koristi se za tekstualne elemente čija je veličina zadata kao 12pt (što u praksi podrazumeva "razvlačenje" na 16 piksela po visini), ali i za elemente čija je veličina zadata kao 24pt (32 piksela po visini) - ili za bilo koju drugu veličinu.

Još prostije, samo "zumirajte" prikaz stranice u browseru (do nivoa 200% ili više): primetićete da se rasterske slike polako "raspadaju" (jer 'gube rezoluciju'), ali, tekst uvek deluje optimalno.

U nastavku, osvrnućemo se na još nekoliko pojava, koje su zajedničke za rastersku i vektorsku grafiku.

Alfa kanal

Uz tri osnovna RGB kanala (i pod uslovom da je opcija podržana u određenom formatu), slikama se može pripisati i tzv. "Alfa" kanal * - preko koga se definiše transparentnost piksela.

* "A" u skraćenici "RGBA" (sa kojom ćete se takođe sretati prilično često).

Alfa vrednost 100% znači da je piksel "potpuno vidljiv", vrednost 0 znači da je piksel "potpuno nevidljiv", a 'međuvrednosti' (između 0 i 100%), definišu različite nivoe "poluprovidnosti".

formati_slika_01
Slika 8. - Uloga Alfa kanala u računarskoj grafici (preko crno-belog Alfa kanala, može se iz početne slike "iseći" određeni deo).

Pošto je Alfa kanal u gornjem primeru crno-beo, nema "poluprovidnosti", ali, vidimo da je preko Alfa kanala ukinuta "šarena pozadina", i ostao je samo grafički element (strelica). *

Kao što možete pretpostaviti, sve rasterske slike su u osnovi pravougaone, i upravo Alfa kanali određuju pojavu koja se zapaža kao "isecanje" delova slike.

* Smatramo da će na ovom mestu dobro doći jedna napomena: ako se dvoumite oko toga da li je pozadina prozirna (a pri tom ste vični obradi fotografija), probajte da "nalepite" gornju sliku preko neke druge slike u nekom programu za obradu fotografija (od celog gornjeg sloja, videće se samo strelica).

Takođe, na Alfa kanale ćemo se ukratko osvrnuti i kada budemo govorili o slojevima slike (u jednom od sledećih odeljaka).

Kompresija

Zapis slika obično zahteva nezanemarljive memorijske kapacitete, i stoga su uštede po pitanju veličine datoteka - više nego dobrodošle. Naravno, takve uštede sa sobom (uglavnom) povlače gubitke u kvalitetu prikaza, ali, postoje algoritmi za kompresiju slike (npr. JPEG), * koji omogućavaju velike uštede u prostoru, uz gubitke u kvalitetu prikaza koji su minimalni (ili, bar - prihvatljivi). **

U najgorem slučaju, efekat kompresije je drastičan (slično efektu "pikselizacije" koji smo videli na slici #4, sa desne strane), ali, u normalnim/uobičajenim okolnostima, sa dobro podešenim algoritmom, razliku je teško uopšte i primetiti.

* JPEG je daleko najpopularniji format za kompresiju slika (i biće tema jednog od odeljaka u narednom poglavlju).

** Savet opšteg tipa mogao bi biti: ako imate dovoljno smeštajnih kapaciteta (za čuvanje slika), nemojte kompresovati slike, ali, vodite računa i o drugim zahtevima (na primer, nemojte bez potrebe kolegama/saradnicima/poznanicima slati velike nekompresovane slike preko email-a i sl).

Slojevi slike

Veoma korisna opcija (koja uglavnom nije podržana u formatima koji su popularni u web dizajnu), podrazumeva podršku za slojeve slike koji se postavljaju jedni 'iznad' drugih (pri čemu je moguće koristiti Alfa kanale i različite režime preklapanja).

Za primer, preklopićemo dve slike (slojevi su na donjoj slici 'smaknuti' samo zarad boljeg razumevanja početnog primera, tj. u praktičnom smislu, treba smatrati da je sloj sa plavom strelicom direktno "iznad" tj. ispred "donjeg" sloja) * ....

formati_slika_01
Slika 9. - Na početku postavljamo dve slike jednu iznad druge (gornja slika ima Alfa kanal, onako kako smo videli na prethodnoj slici).

Ako sa 'gornje' slike (tj. gornjeg sloja), preko Alfa kanala "isečemo" pozadinu (i zatim preklopimo slojeve), dobićemo sledeći rezultat:

formati_slika_01
Slika 10. - Ukoliko preklopimo dva sloja slike kao na slici #9, dobićemo rezultat kakav vidimo na slici #10.

* Odrednice "iznad" i "ispod" su u ovom slučaju relativne i zapravo znače "ispred" ili "iza".

Takođe, kao što smo već nagovestili, slojevi slika se najčešće ne javljaju u osnovnim formatima za prikaz pojedinačnih slika (koji su tema članka), već, u formatima koji su svojstveni specijalizovanim programima za obradu slika.

Ako vas zanimaju tehnikalije koje se tiču preklapanja slojeva slike, možete o svemu pročitati više u zasebnom članku.

Podrška za animacije

Podrška za animacije je (inače) veoma korisna opcija, ali, uglavnom nije prisutna u formatima koji se koriste u web dizajnu.

Međutim, format GIF * (rasterska grafika), podržava prikaz animiranih slika, a format SVG * (vektorska grafika), omogućava animiranje geometrijskih oblika.

* O navedenim formatima (i drugim formatima), pisaćemo detaljnije u narednom poglavlju članka.

O animacijama ćemo detaljnije diskutovati drugom prilikom (na ovom mestu, animacije smo samo pomenuli kao opciju koja, u različitim grafičkim formatima, postoji ili ne postoji).

Popularni grafički formati

Iako je u velikom broju situacija moguće izabrati jedan format slika za ceo sajt (kao što smo već nagovestili u uvodu), pravila dobrog dizajna ipak nalažu da različite funkcionalne elemente stranica treba kreirati uz korišćenje različitih grafičkih formata.

Upoznaćemo se se najpopularnijim formatima, prednostima i nedostacima različitih formata, i oblastima primene ....

PNG

  • Tip grafike: rasterska
  • 8-16 bita po kanalu
  • Alfa: DA
  • Slojevi: NE
  • Pun kvalitet slike: DA
  • Animacije: NE

PNG (Portable Network Graphics) je format koji se na internetu tipično koristi za prikazivanje manjih grafičkih elemenata (ikone, dugmići i sl), u punom kvalitetu, pri čemu dolazi do izražaja i podrška za transparentnost (koju PNG format nudi).

formati_slika_01
Slika 11. - Tipična primena PNG formata - ikone za sajt.

Što se tiče standardnih fotografija (pogotovo fotografija viših rezolucija), nepisana pravila web dizajna nalažu da se za takve slike ipak/i dalje pribegava upotrebi JPEG datoteka, jer se i dalje smatra da su PNG datoteke (iole veće rezolucije), prevelike za slanje preko mrežnih protokola.

Ista primedba se odnosi i na druge nekompresovane formate (TIFF, TGA, BMP i sl), i pri tom se (naravno) ne misli na sajtove koji se doslovno bave prodajom ili deljenjem nekompresovanih slika visoke rezolucije, na sajtove na kojima su nekompresovane slike visoke rezolucije bitan deo prezentacije i sl.

JPEG

  • Tip grafike: rasterska
  • 8 bita po kanalu
  • Alfa: ne
  • Slojevi: NE
  • Pun kvalitet slike: NE
  • Animacije: NE

Skraćenica JPEG * označava kompresovani format koji (uz određene gubitke u kvalitetu prikaza), omogućava čuvanje 8-bitnih ** slika bez Alfa kanala.

U pitanju je i dalje najpopularniji format za zapis fotografija, koji svoju veliku popularnost (koja nije izbledela poslednjih cca. 25 godina), duguje veličini datoteka koje se dobijaju JPEG kompresijom (u odnosu na nekompresovane formate, veličina je višestruko manja, dok je kvalitet - u najpraktičnijem smislu - solidan (tj. krajnje prihvatljiv)). ***

formati_slika_01
Slika 12. - JPEG format se (i dalje) tipično koristi za prikaz fotografija većih rezolucija.

Kao što smo već naveli, JPEG je format koji se i dalje koristi u (skoro) svim situacijama kada je na web stranicama potrebno prikazivati fotografije (za razliku od grafičkih elemenata), pogotovo kada se radi o fotografijama visoke rezolucije (ili, drugim rečima: ni izdaleka nije u pitanju 'jedina' opcija, ali, za čuvanje fotografija, ili za čuvanje slika "opšteg tipa" u situacijama kada ne postoje specifični zahtevi po pitanju očuvanja kvaliteta i sl, najčešće se koristi format JPEG).

* Iza skraćenice (tj. akrnoima, koji se čita kao "džej-peg"), stoji organizacija Joint Photographic Experts Group.

** Mislimo (naravno), na 8 bita po kanalu.

*** Kroz diskusije o grafici, često se provlači stav da praktično ne postoji razlika u kvalitetu prikaza, između slika koje su zapisane u JPEG formatu i nekompresovanih slika, međutim, mi ipak nismo skloni tolikom "optimizmu" u proceni sposobnosti formata JPEG (ali, još jednom - razlike je najčešće zaista teško primetiti).

SVG

  • Tip grafike: vektorska
  • 8 bita po kanalu
  • Alfa: DA
  • Slojevi: NE
  • Pun kvalitet slike: DA
  • Animacije: DA

Ukoliko nismo zadovoljni kvalitetom grafike pri korišćenju formata PNG (ne previše verovatno), ili je potrebno istu sliku prikazati u više rezolucija na različitim mestima, bez gubitka u kvalitetu (što je mnogo verovatnije), rešenje može biti korišćenje formata SVG (Scalable Vector Graphics).

Kao što smo nagovestili, vektorske slike praktično "nemaju rezoluciju" (same po sebi), * i stoga je na različitim mestima moguće koristiti jednu vektorsku sliku (primera radi): i kao ikonu male rezolucije, i kao logotip srednje ili veće rezolucije (ili na neki treći način).

* U praktičnom smislu, prikaz vektorske slike na monitoru zavisi od toga da li će slika biti projektovana na dimenzije 120px * 120px, 240px * 240px, 480px * 480px i sl.

Pogledajmo primer koji pokazuje razliku između rasterske i vektorske grafike (da biste videli efekat, potrebno je da "zumirate" stranicu u browseru, po mogućnosti bar do nivoa 200%):

- Rasterska grafika je praktično ograničena širinom i visinom rasterske slike, i deluje sve lošije i lošije, što se više slika 'razvlači' preko ekrana:

formati_slika_01
Slika 13. - Rasterska slika ograničena je rezolucijom (ukoliko "zumiramo" do nivoa 200% (probajte), slika će se "držati" dosta dobro, ali, preko navedene granice, ivice ikone će početi da deluju sve "nazubljenije").

- Vektorska grafika nije ograničena 'brojem piksela', i stoga prikaz praktično deluje sve bolje i bolje ukoliko se slika 'zumira':

formati_slika_01
Slika 14. - Kada uradimo "zoom-in" sa vektorskom slikom, kvalitet prikaza ne opada (zapravo, na izvestan način se može reći da kvalitet prikaza - raste).

Međutim, sa formatom SVG postoji i jedan manji problem, koji se tiče fontova: iako sam format podržava vektorske fontove (fontovi takođe mogu biti rasterski i vektorski, ali, danas se rasterski fontovi sreću veoma retko), podrška za vektorske fontove u okviru formata SVG, u praktičnom smislu je .... delimična.

Kada je izabrani font instaliran na računaru na kome se sajt prikazuje, slika će biti prikazana na korektan način, onako kako je autor slike zamislio, dok, ukoliko font nije instaliran, browser samostalno bira font odgovarajuće familije, ali, to ni u kom slučaju ne znači da će prikaz biti sličan (štaviše, razlike mogu biti prilično velike).

formati_slika_01
Slika 15. - Da bismo bili sigurni da neće biti problema sa tekstom koji se koristi u SVG datotekama, tekst se može pretvoriti u geometrijske oblike opšteg tipa (na slici vidimo kontrolne tačke preko kojih se definišu oblici).

Rešenje je da se tekst koji je ispisan preko vektorskih fontova pretvori u geometrijske oblike opšteg tipa, posle čega će prikaz biti besprekoran (naravno, podrazumeva se da "iscrtani tekst" nije više moguće uređivati kao tekst, već samo kao kolekciju grafičkih elemenata).

Pored svega navedenog, format SVG takođe podržava i animacije (na grafičkim elementima).

BMP

  • Tip grafike: rasterska
  • 8 bita po kanalu
  • Alfa: DA *
  • Slojevi: NE
  • Pun kvalitet slike: DA
  • Animacije: NE

BMP (skraćeno od "Bitmap") je rasterski format za čuvanje slika punog kvaliteta, * ali - bez podrške za slojeve i animacije (pri čemu je i podrška za Alfa kanale, 'novijeg datuma'). **

U praktičnom smislu, format BMP je godinama bio osnovni grafički format i (ne)zvanični format za čuvanje slika punog kvaliteta, sve dok tu ulogu nije postepeno preuzeo format PNG (koji, kao što smo naveli, podržava po potrebi i više od 8 bita po kanalu, a tradicionalno postoji i podrška za Alfa kanale, koja u formatu BMP nije postojala duže vreme). **

* Mislimo (naravno) na pun kvalitet koji se može postići upotrebom (svega) 8 bita po kanalu.

** Da pojasnimo dodatno: kada se posmatra situacija sa "kraja 2. decenije 21. veka", primećuje se da format BMP podržava upotrebu Alfa kanala, ali, tokom prvih (cca) petnaest godina postojanja, to nije bio slučaj (i pri tom su formati PNG, TIFF, TGA i sl. nudili podršku za Alfa kanale - znatno pre 2020. godine).

GIF

  • Tip grafike: rasterska
  • 8 bita po kanalu
  • Alfa: DA
  • Slojevi: NE
  • Pun kvalitet slike: NE
  • Animacije: DA

Format GIF (Graphics Interchange format), takođe uživa veliku popularnost godinama unazad, ali (u najpraktičnijem smislu), GIF zapis nije smišljen sa idejom "što boljeg prikaza" (naravno, uz ogradu da je kvalitet slika u GIF formatu sasvim 'razuman'/'prihvatljiv' i sl), već je osnovna ideja da datoteke imaju što manju veličinu, a prisutna je i podrška za animacije (što je svojstvo koje se ne sreće u ostalim rasterskim formatima koje opisujemo).

Algoritam DFS - animacija
Slika 16. - Primer GIF animacije (pozajmljen iz uvodnog članka o algoritmima BFS i DFS).

Što se tiče podrške za animacije u formatima SVG i GIF, postoji svojevrsna 'podela': kada je u pitanju SVG, tipično se animiraju svojstva grafičkih elemenata, a GIF datoteke se tipično koriste za zapisivanje kraćih video-klipova.

Za kraj ....

Kao što smo ranije naveli, moguće je koristiti samo jedan format slika za celu web stranicu: PNG ili SVG - ako na stranici nama fotografija, ili JPEG, ako ("nekim čudom, u 21. veku") dizajn stranice 'može da prođe' bez ikona sa transparentnom pozadinom (ili se taj nedostatak može nekako "zamaskirati").

Međutim, budući da "niko ne tera" web dizajnere da izaberu samo jedan format (a ostale zanemare), moguće je koristiti dobre strane različitih formata 'tamo gde treba', a slabosti izbegavati upotrebom drugih, za date primene prikladnijih formata.

Takođe, trudite se da uvek razmotrite koliku uštedu memorijskih kapaciteta zapravo ostvarujete u određenoj situaciji: nekoliko kilobajta uštede na velikim slikama, nije baš prevelika ušteda, dok nekoliko stotina kilobajta - jeste. To su stvari koje posetiocima sajta ne znače gotovo ništa (osim ako ne dizajnirate sajt tako da se od posetilaca očekuje da bez ikakvog pravog razloga učitavaju ogromne slike), ali zato internet pretraživači, koji na osnovu raznih kriterijuma (praktično) odlučuju o poziciji određenog sajta u pretragama - vode računa i o veličini slika na sajtu.

Na nama je da napravimo izbor, ali - bitno je da izbor postoji.

Autor članka Nikola Vukićević Za web portal codeblog.rs
Napomena: Tekstovi, slike, web aplikacije i svi ostali sadržaji na sajtu codeblog.rs (osim u slučajevima gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta codeblog.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo drugo korišćenje u komercijalne svrhe, bez eksplicitnog pismenog odobrenja autora.
© 2020-2026. Sva prava zadržana.
Facebook LinkedIn Twitter Viber WhatsApp E-mail
početna > Članci > Osnove računarske grafike i formati slika u web dizajnu
codeBlog codeBlog
Sajt posvećen popularizaciji kulture i veštine programiranja.
Napomena: Tekstovi i slike na sajtu codeblog.rs (osim u slučajevima, gde je drugačije navedeno) predstavljaju intelektualnu svojinu autora sajta codeblog.rs i zabranjeno je njihovo korišćenje na drugim sajtovima i štampanim medijima, kao i bilo kakvo drugo korišćenje u komercijalne svrhe, bez eksplicitnog odobrenja autora.
© 2020-2026. Sva prava zadržana.
Facebook - logo
Instagram - logo
LinkedIn - logo
Twitter - logo
E-mail
Naslovna
   •
Uslovi korišćenja
   •
Obaveštenja
   •
FAQ
   •
Kontakt