2. Uložení barevných obrázků v počítači
V minulé kapitole jsme si pověděli o tom, jak lidské oko vnímá barvy, a trochu jsme zmínili i to, jak toho využívají barevné displeje, když nám chtějí nějaký obrázek ukázat. V téhle kapitole si povíme přímo o tom, jak jsou vlastně obrázky v počítači uložené a z čeho se skládají.
Pixely
Počítače si ukládají všechny informace v podobě čísel. A abychom pomocí čísel vyjádřili obrázek, nejjednodušší je rozdělit si ho na pravidelnou mřížku políček, podobně jako šachovnici, a uložit si postupně informaci o barvě každého políčka — takovému políčku se říká pixel, což je zkratka z anglického PIcture ELement, doslova „kousek obrázku“.
Takových pixelů je pro vytvoření dostatečně jemného a kvalitního obrázku potřeba docela hodně. Například video v takzvané Full HD kvalitě ukládá obraz jako mřížku 1920 × 1080 pixelů. To je něco málo přes dva miliony pixelů (dva megapixely), které dohromady vytvářejí celý obraz. Čím více pixelů na popis jednoho obrázku máme, tím jemněji a kvalitněji ho můžeme popsat. Naopak pokud je obrázek rozdělený na příliš málo pixelů, vidíme v něm typickou „kostičkovanost“.
Na ukázce s fotkou mandrila si můžeme prohlédnout, jak to vypadá, když ten samý obrázek rozdělíme na různé počty pixelů: postupně 256 × 256, 64 × 64, 32 × 32, a na konci už jen 16 × 16 pixelů.
Ten první vypadá v téhle velikosti hezky detailně, ale třeba ten poslední bychom si už museli hodně zmenšit nebo prohlížet z hodně velké dálky, abychom si nevšimli jeho nízké kvality.
„Samozřejmě je v tom taky háček: když chceme vysokou kvalitu se spoustou pixelů, tak to taky znamená, že všechna ta čísla musíme někam uložit, a proto nám kvalitní obrázek nebo video zabere hodně místa na disku nebo paměťové kartě, a taky se bude déle stahovat z internetu.“
Jak uložit barvu?
Už tedy víme, že obrázek uložíme tak, že si postupně uložíme barvy všech jeho pixelů. Jak ale vlastně uložit barvu jednoho pixelu?
Vzpomeňme si na první kapitolu, ve které jsme si povídali o tom, jak lidské oko vnímá barvy, a jak jsou zobrazovány na displeji. Každý pixel displeje se skládá ze tří světýlek základních barev — červená, zelená, modrá. A abychom pixel rozsvítili požadovaným odstínem, stačí nám vědět, jak moc máme rozsvítit ta tři světýlka.
Například když má být pixel jasně žlutý, znamená to „rozsvítit červené i zelené světýlko na 100 %, modré nechat zhasnuté“, a když má být třeba tmavě fialový, tak to znamená „rozsvítit červené a modré světýlko na 25 %, zelené nechat zhasnuté“.
Protože ale počítače pracují v dvojkové (binární) soustavě, jsou přizpůsobené trochu jinak vyjádřeným číslům, takže je pro ně pohodlnější místo trojice čísel od nuly do sta procent používat třeba trojici čísel od 0 do 255. Nula znamená „světýlko zhasnout“, 255 znamená „světýlko rozsvítit na maximum“.
Abychom si to vyzkoušeli, můžeme si přímo v počítači spustit třeba nějaký malovací program a podívat se, jak se v něm vlastně nastavují barvy — většina programů má pro výběr barvy nějaké podobné okno, a my v něm můžeme číselně zadat hodnoty pro červenou, zelenou a modrou část barvy. Tady na ukázce vidíte oba ty příklady se žlutou (čísla 255, 255 a 0) a tmavě fialovou (čísla 64, 0 a 64).
Rozsah barev na displeji
To, že většinou pro intenzitu červené, zelené i modré části barvy můžeme použít jenom celá čísla od 0 do 255 znamená, že na počítači nemáme k dispozici úplně libovolné množství odstínů.
Barevný přechod na tomhle obrázku například obsahuje všechny různé intenzity červené, kterou počítač umí uložit a displej zobrazit — celý přechod se tak skládá z 256 svislých proužků. Na levém okraji obrázku jsou červená světýlka pixelů úplně vypnutá (pixely mají hodnotu červené nastavenou na 0), na pravém okraji svítí červená světýlka naplno (pixely mají hodnotu červené nastavenou na 255). Pokud bychom chtěli červenou ještě zářivější než u pravého okraje, nemůžeme. Jediné, co by šlo ještě udělat, by bylo přidat k červeným světýlkům i zelená a modrá, a tím tu barvu postupně zesvětlit přes různé odstíny růžové až na bílou (což je rozsvícení všech tří základních barev naplno).
Šířky těch jednotlivých proužků jsou vyznačené u horního okraje — pokud si obrázek zvětšíme a uvidíme v něm hranice a rozdíly mezi sousedními proužky, je to buď tím, že se náš displej snaží ulehčit si práci a ve skutečnosti zobrazuje méně než 256 různých intenzit (některé si trochu „zaokrouhluje“ na nějaké jiné, blízké hodnoty), nebo máme tak dobrý zrak, že rozlišíme víc odstínů, než kolik jich počítač normálně umí zobrazit.
Na dalším obrázku jsou pak vidět všechny na počítači dostupné kombinace červené a zelené. Tady se už obraz skládá z jednotlivých čtverečků, z nichž každý má o stupínek jiný odstín (v tomhle obrázku jsou to několikapixelové čtverečky, aby byly větší — jejich velikost je opět vyznačená u okraje). Červená část barvy posiluje směrem zleva doprava, zelená část barvy posiluje směrem zdola nahoru. Vidíme tedy, že když červená i zelená svítí naplno (vpravo nahoře), dostáváme naši známou žlutou, zatímco když nesvítí ani jedna (vlevo dole), výsledkem je tma.
Na takovémhle obrázku si můžeme docela dobře ověřit, jestli se náš monitor nesnaží ulehčit si práci — pokud vidíme, že v některých částech obrázku není barevný přechod plynulý, opět to může znamenat, že si tam náš monitor hodnoty barev trochu zaokrouhluje. Pokud máme počítač se dvěma monitory, můžeme třeba vyzkoušet, jestli ten samý obrázek na různých monitorech nevypadá různě.