+----------------+
| Vstupní formát |
+----------------+
Prvním krokem transformace je načtení obrazu ze souboru.
Předpokládáme, že se celý obraz bude vejít do operační paměti
počítače v nekomprimované podobě, v opačném případě by se úloha
nepříjemně zkomplikovala. Nicméně stanovené omezení není příliš
přísné a naprostá většina obrázků mu snadno vyhoví.
Je rozumné zvolit jeden, nebo několik málo standardních
formátů, které bude aplikace podporovat, a v ostatních případech
spoléhat na použití některého konverzního programu (například Image
Alchemy). Z důvodu snadného nastavení transparentnosti obrázku se
doporučuje takový formát, který umožňuje zadat i alfa-kanál (alpha
chanell) pro daný 24bitový obrázek. Požití alfa-kanálu je popsáno
například v [8]. Jde o další rovinu obrazu, která určuje
transparentnost každého bodu. Je opět obvykle kódována osmi bity a je
odstupňována s významem 0 - plně průhledná až 255 - plně neprůhledná.
Barva jednoho pixelu obrazu je potom reprezentována 32 bity, tedy
čtyřmi bajty. To je výhodné při zpracování na dnešních 32bitových
procesorech.
Obraz s alfa-kanálem označujeme jako RGBA. Informaci o
alfa-kanálu využíváme tak, že každý bod s nulovou hodnotou α
považujeme za transparentní, a proto jej nezařazujeme do zpracování
obrazu. V závěru všechny takové body opět označíme transparentní
barvou.
Dostatečně jednoduchý formát, který dovoluje uchovávat
informace o RGB a RGBA je formát TARGA (Targa Image File) navržený
firmou Truevision [21][17]. Tento formát je v nekomprimované verzi
pro svou jednoduchost velmi rozšířený a tudíž vhodný i pro naší
aplikaci.
výheň