Zdroj: http://www.root.cz/clanky/pravda-a-myty-o-gifu/
Bitmapový formát (rastrový obrázek) Většina z používaných grafických formátů (JPEG, PNG, TGA, BMP) obsahuje popis rastrového obrázku jako celku ukládají se najednou barvové hodnoty všech pixelů, ze kterých se rastrový obrázek skládá, (buď přímo nebo v komprimované podobě).
GIF používá odlišný přístup.
Celý obrázek, se nazývaný logická obrazovka (logical screen) v souboru není uložen jako jeden celek, ale skládá se z několika rámců (frame) - obdélníkové oblasti umístěné uvnitř logické obrazovky. (minimálně jeden)
• Každý rámec můžeme chápat jako rastrový obrázek, který je celou svou plochou umístěn v logické obrazovce (žádný pixel rámce nesmí být mimo logickou obrazovku). • Pozice rámce v logické obrazovce je určena souřadnicí jeho horního levého rohu a velikostí (šířkou, výškou) v pixelech. • Dále může být k rámci přiřazena lokální barvová paleta, pokud však není, použije se globální barvová paleta
každý pixel umístěný v rámci může být popsán maximálně osmi bity (28 - 256 barev)
Každá barva je v barvové paletě popsána trojicí hodnot (složek) – R (red), G (green), B (blue)
Každá složka je uložena v jednom bytu.
Minimální velikost barvové palety (se dvěma barvami) je proto rovna šesti bytům (2×3). Maximální velikost barvové palety s 256 barvami pak 768 bytům (256×3). U mnoha obrázků může barvová paleta tvořit značnou část jejich celkové velikosti.
V grafickém formátu GIF rozlišujeme dvě barvové palety:
Globální barvová paleta (global color table) může v souboru typu GIF existovat maximálně jednou a její velikost (tj. počet barev) je zadána v hlavičce popisující logickou obrazovku. V některých případech nemusí být globální barvová paleta přítomna vůbec. Lokální barvová paleta (local color table) může být přiřazena ke každému rámci, opět se však nejedná o povinnou součást rámce. V případě, že není přítomna ani globální ani lokální barvová paleta, měl by prohlížecí program použít systémovou paletu. Absence obou barvových palet sice může zmenšit celkovou velikost souboru, způsob zobrazení se však může v různých prohlížečích lišit, proto se alespoň jedna barvová paleta používá.
součástí popisu logické obrazovky je index jedné barvy v globální barvové paletě, která bude použita pro vykreslení pozadí
Verze GIF89a pomocí rozšiřujícího řídicího bloku (graphics control extension) je možné v každém rámci specifikovat jeden index do barvové palety, který představuje průhledné pixely.
podporuje animace bez nutnosti instalace pluginů na straně prohlížeče nebo použití speciálních technik (flash, JavaScript, streamované video apod.). Animace - sled po sobě jdoucích rámců (které mohou ležet na sobě), mezi jejichž zobrazením je vložena časová prodleva. Pokud jsou rámce překreslovány rychlostí cca 10 snímků za sekundu, vzniká dojem poměrně plynulé animace.
obrazové řádky nejsou v rámci uloženy ve své přirozené sekvenci (1, 2, 3 … n), ale hierarchicky podle schématu, při jehož použití se obrázky vykreslují ve čtyřech průchodech
Při přenosu obrázků ze serveru ke klientovi může uživatel získat představu o celém obrázku již po přenesení jedné osminy dat, tj. po prvním průchodu a přenos popř. zastavit.
Nevýhodou prokládaných GIFů je poněkud větší délka celého souboru, protože se sníží vzájemná podobnost pixelů mezi jednotlivými řádky, což zapříčiní horší účinnost algoritmu LZW.
GIFy jsou výhodnější pro malé obrázky jejich hlavičky a další doprovodné informace jsou kratší než v případě PNG .
V jednom rámci může být zobrazeno maximálně 256 barev. Takže lze celý obrázek rozložit na rámce takovým způsobem, aby v každém rámci bylo použito maximálně 256 barev.
Podporu GIFů s více barvami lze otestovat na Truecolor obrázek složený z rámců umístěných do šachovnice http://i.iinfo.cz/urs-att/gif2_e-115572866858321.gif