Animovaná zeměkoule ve formátu GIF. Na obrázku je vidět omezený počet barev. | |
Přípona souboru | .gif |
---|---|
Typ internetového média | image/gif |
Uniform Type Identifier | com.compuserve.gif |
Magické číslo | GIF87a /GIF89a |
Tvůrce | CompuServe |
Otevřený formát | ano (dříve proprietární) |
GIF (Graphics Interchange Format, výslovnost džif i gif[1]) je grafický formát určený pro rastrovou grafiku. GIF používá bezeztrátovou kompresi LZW, na rozdíl například od formátu JPEG, který používá ztrátovou kompresi. GIF je tedy vhodný pro reprezentaci vektorových obrázků (nápisy, plánky, loga), protože zakreslené čáry nejsou rozmazány kompresí. GIF umožňuje také jednoduché animace.
GIF má jedno velké omezení — maximální počet současně použitých barev barevné palety je 256 (8 bitů), v případě animace pak umožňuje využít odlišné palety 256 barev pro každý snímek. Toto omezení nemá formát PNG, který se hodí ke stejným účelům jako GIF a nabízí pro většinu obrazů výrazně lepší kompresi. Formát PNG však neumožňuje animace (ty umožňuje až APNG a MNG).
Formát GIF se stejně jako formáty PNG a JPEG používá pro WWW grafiku na Internetu.
Původní verze formátu GIF se nazývá 87a. V roce 1989 CompuServe vytvořila rozšířenou verzi formátu GIF zvanou 89a. GIF 89a přidal podporu více obrázků (jednoduché animace), prokládání a možnost uložení dalších metadat. Prvních 6 bajtů (v reprezentaci ASCII) na začátku souboru udává o jakou verzi GIFu se tedy jedná „GIF87a“ nebo „GIF89a“.
Podle MIME má GIF přidělen typ image/gif
(definováno v RFC 1341).
Struktura souboru GIF má tvar uvedený v první tabulce.
délka | Význam | povinnost |
---|---|---|
6 byte | GIF-signatura | povinná |
7 byte | globální deskriptor obrazovky | povinný |
různá | globální tabulka barev | nepovinná |
různá | rozšiřující blok | nepovinná |
různá | blok popisu obrázku 1 | povinný |
různá | blok popisu obrázku 2 | nepovinný |
různá | blok popisu obrázku N | nepovinný |
1 byte | koncový znak GIF-3BH | povinný |
Signatura formátu jednoznačně určuje typ grafického formátu (GIF) a číslo jeho verze buď 87a nebo 89a. Novější verze 89a je jen rozšířením verze 87a. Dalších 7 byte určuje globální deskriptor obrazovky, který je společný a závazný pro všechny jednotlivé obrázky vytvářející celý obrázek.
GIF je využitelný pro obrázky, které obsahují nízký počet barev (loga, grafy atd.) a u kterých je potřeba zachovat vstupní kvalitu (tzn. použít bezeztrátovou komprimaci).
GIF je také vhodný na malé animace a filmové klipy s minimálním rozlišením a nízkým počtem barev.
Formát PNG byl navržen jako náhrada formátu GIF, aby se předešlo porušení patentu společnosti Unisys na komprimační techniku LZW. PNG nabízí lepší komprimaci a je vhodnější než GIF v případech, kdy je vyžadován alfa kanál nebo větší rozsah než 256 barev. Soubor PNG je díky účinnější komprimaci obecně menší než GIF o stejné obrazové kvalitě.
Nové internetové prohlížeče obecně PNG podporují; obrazy v GIF mohou být obvykle nahrazeny tímto formátem. Nicméně, Windows Internet Explorer verze 6 a starší nepodporují u PNG alfa kanál bez použití specifických rozšíření v HTML kódu. Windows Internet Explorer 7 již podporuje průhlednost bez potřeby rozšíření.
Pro animace založené na PNG byl vyvinut formát MNG, ale příliš se neujal. V roce 2004 byl navržen formát APNG, který zůstává částečně zpětně kompatibilní s PNG (starší prohlížeče zobrazují jen první statický obrázek). Animovaný GIF je dosud široce používán, moderní prohlížeče však v rámci HTML5 specifikací podporují bez nutnosti instalovat jakékoliv rozšíření i moderní a nesrovnatelně efektivnější video formáty (WebM/VP8, OggTheora či x.264).