GIF, JPEG a PNG – jak a kdy je použít?

16. května 2002

Za posledních deset let došlo k bouřlivému vývoji v oblasti tvorby webu. Spousta uživatelů se naučila jazyk HTML a kaskádové styly nebo alespoň používat nástroje pro tvorbu dynamických stránek. Možná se ale někteří zapomněli na chvíli zastavit a podívat se na základní použití grafiky na webu.

Dnes najdeme nejen na českém internetu spoustu stránek, kde například ikony jsou uloženy ve formátu JPG, nebo naopak některé fotografie jsou uloženy ve formátu GIF. Tento článek si dává za cíl seznámit nejen začínající vývojáře webu se základními informacemi o použití webové grafiky, respektive uvedených grafických formátů.

Základní charakteristika

Na úvod určitě nezaškodí výlet do historie. Každý formát nejprve stručně představím a popíšu, kdy vznikl a jaké má základní vlastnosti. Také se pokusím o vysvětlení základních pojmů s touto problematikou spjatých.

Formát GIF

GIF (The Graphics Interchange Format) byl vyvinut společností CompuServe v roce 1987 (označován jako GIF87). Spolu s formátem JPEG je dnes nejpoužívanějším formátem pro zobrazování webové grafiky. GIF se používá pro zobrazování takzvané bitmapové (rastrové) grafiky, která se skládá převážně z jednoduchých čárových objektů a ne příliš velkého počtu barev. Zjednodušeně řečeno, každý obrázek je určen množinou svých bodů a každý bod (pixel) je určen svou pozicí a barvou.

Formát GIF podporuje osmibitovou grafiku, což znamená, že obrázek může mít maximálně 256 barev (každý z 8 bitů může nabývat hodnot 0 nebo 1, pokud uvážíme všechny možné kombinace nul a jedniček v osmici bitů, dostaneme celkem 256 možností). Formát GIF samozřejmě podporuje i menší barevnou hloubku, například 64 nebo 32 barev. Možná víte, že formát GIF umožňuje jednu barvu v obrázku nastavit jako průsvitnou (transparent). Tuto vlastnost ale najdete až ve vylepšené verzi formátu GIF, označované jako GIF89a. Kromě tohoto označení se můžete setkat ještě s interlaced GIF89a. Prokládaný GIF se využívá právě při zobrazování webové grafiky, protože umožňuje postupné zobrazování obrázku už v průběhu stahování (obrázek se zobrazí celý, v horší kvalitě, a postupně se zaostřuje).

Formát GIF využívá takzvané bezztrátové komprese, což znamená, že uložíte-li obrázek GIF znovu jako GIF a tak dál, kvalita obrázku zůstane pořád stejná a žádná data se z obrázku neztratí. Nejlepší komprese je dosahováno, pokud obrázek obsahuje hodně jednobarevných řádků. Protože soubor formátu GIF může obsahovat několik obrázků, lze vytvářet také animované gify. Přípona grafického souboru ve formátu GIF je .gif a MIME typ je image/gif.

Formát JPEG

Formát JPEG (The Joint Photographics Experts Group) je o něco mladším kolegou formátu GIF. Jeho počátky se datují do roku 1990, kdy byl standardizován normou ISO, a roku 1991, kdy začal být hojně používán. Jak je už z názvu formátu patrné, je určen především pro zobrazování fotografií a obrázků, které obsahují značné množství barev a jejich odstínů.

Formát JPEG proto podporuje čtyřiadvacetibitovou grafiku, obrázek tedy může obsahovat až 16 777 216 barev. Formát JPEG ukládá všechny informace o jednotlivých barvách v takzvaných RGB složkách, kdy každá barva je vyjádřena jako trojkombinace tří základních barev – červené (Red), zelené (Green) a modré (Blue). Zastoupení každé barvy můžeme vyjádřit číslem 0 až 255, což je 8 bitů, barvy jsou tři, tedy celkem potřebujeme 24 bitů pro vyjádření libovolné ze 16 miliónů možných barev.

Podobně jako GIF využívá i JPEG kompresi, která je ale ztrátová. Pokud uložíte nějaký obrázek v souboru typu JPEG, znovu jej otevřete a zase uložíte, kvalita nového obrázku se podle zvoleného stupně komprese sníží, dojde ke ztrátě zobrazovaných dat. Narozdíl od formátu GIF, formát JPEG nepodporuje transparentní obrázky (průsvitnost zvolené barvy) ani animace.

Soubory ve formátu JPEG mívají příponu .jpg (někdy se můžeme setkat i s příponou .jpeg) a MIME typ je image/jpeg.

Formát PNG

Poslední na řadě je formát PNG (The Portable Network Graphics). Tento formát je jediným oficiálním formátem pro bitmapovou grafiku na internetu. Často bývá označován jako nástupce formátu GIF. Konsorcium W3C vydalo jeho specifikaci (respektive doporučení – recommendation) v říjnu roku 1996. Ve srovnání s formátem GIF má lepší podporu barev (až dvaatřicet bitů), lepší podporu transparence obrázku a více typů prokládání. Ještě donedávna se obrázky ve formátu PNG v prohlížečích nezobrazovaly, jeho podpora byla implementována až od jejich čtvrté generace.

Formát PNG také využívá bezztrátovou kompresi, navíc si lze vybrat z několika typů. Formát PNG také implementuje řadu metod pro lepší zobrazování obrázků, například automatickou detekce poškození, jejich praktické využití však závisí na výrobcích konkrétních programů. Bohužel, animované obrázky ve formátu PNG tvořit nelze. Jak už asi tušíte, soubory ve formátu PNG mají příponu .png a MIME typ je image/png.

Komprese obrázků

U všech formátů jsem uvedl, že používají vnitřní kompresi obrázku. Proč? Důvod je prostý, jde o snížení velikosti souboru. Rychlost načítání webové stránky je jedním z klíčových faktorů úspěchu webové prezentace. Ne vždy ale můžeme na kompresi plně spoléhat, někdy musíme zmenšení velikosti souboru sami pomoci. Níže uvedu několik osobních rad, jak s jednotlivými formáty nakládat. Vycházím ze svých zkušeností, které jsem nabyl během let, kdy jsem se věnoval tvorbě webových stránek.

Formát GIF

  • Při tvorbě GIFu používejte co nejméně barev, čím více barev bude GIF mít, tím bude soubor větší.
  • Komprese je nejúčinnější, pokud GIF obsahuje co nejvíce spojitých jednobarevných ploch, čím je obrázek komplikovanější, tím je komprese menší a velikost souboru tak roste.
  • I když formát GIF podporuje 256 barev, je vhodné využívat barvy takzvané webové palety (jedná se o 216 vybraných barev, často se jim říká bezpečné barvy – na všech platformách se zobrazují vždy stejně).
  • Většina dobrých grafických programů mívá nástroje na generování optimalizovaného GIFu (GIF optimizer), vyplatí se experimentovat a zkoušet různá nastavení. Většinou hned vidíte, jak se mění velikost souboru, a zároveň máte k dispozici náhled, jak by vypadal soubor po transformaci. Můžete tak snadno najít zlatou střední cestu, hranici, kdy kvalita obrazu a zároveň velikost souboru jsou na uspokojivé úrovni.

Formát JPEG

  • Jak už jsem uvedl výše, vyhněte se násobnému ukládání JPEG souboru znovu jako JPEG, dochází ke ztrátě kvality.
  • I pro formát JPEG existují v řadě dobrých grafických programů optimizéry, které umožňují odladit JPEG soubor tak, že kvalita zobrazení nebude špatná a zároveň velikost souboru nebude nijak závratná.

Formát PNG

  • Pro práci s formátem PNG platí podobné zásady jako pro formát GIF. Komprese je nejúčinnější, pokud obrázek tvoří velké jednobarevné plochy (nemusí se jednat o řádky, záleží na zvoleném typu komprese).
  • Stejně jako GIF umožňuje PNG prokládání, ovšem pozor, ve většině případů značně naroste velikost souboru.
  • V některých grafických programech lze také najít PNG optimizér.

Použití formátů

Základní použití vychází z vlastností jednotlivých formátů. Formát GIF i PNG se hodí pro tvorbu jednoduchých obrázků, jako jsou ikony, navigační prvky na stránce, nebo loga. Formát GIF rozhodně není vhodný pro ukládání fotografií. Fotografie zobrazená ve 256 barvách bude vypadat poněkud zrnitě a z hlediska barevnosti také dost nereálně. Na fotografie je vhodný formát JPEG. Pro fotografie lze použít i formát PNG (s 24 bitovou hloubkou), ale asi bych zatím zůstal u starého dobrého JPEGu. Formát JPEG nepoužívejte na ikony či jednoduché grafické prvky, vypadaly by skvrnitě.

Ukázky

Pro lepší představu zde uvádím několik ukázek obrázků, které jsem ukládal a optimalizoval různými způsoby. Také bych rád předvedl, jak to dopadá, když se pro daný grafický objekt zvolí špatný formát.

GIF není vhodný pro fotografie
(formát PNG omezený na 256 barev také)

JPEG, velikost 37KB,
komprese 1%, 16 mil. barev
GIF, velikost 19KB,
256 barev

PNG, velikost 18KB,
256 barev

JPEG není vhodný pro tvorbu ikon
(následující obrázky ukazují 10x zvětšený fragment obrázku ikony)

formát GIF/PNG, bílá plocha je
neposkvrněná
formát JPEG, v bílé ploše jsou skvrny

Různé komprese JPEG souboru

komprese 1%, velikost 37KB komprese 30%, velikost 9KB
komprese 60%, velikost 5KB komprese 80%, velikost 3KB

Ukázka různých barevných hloubek exportovaného GIFu a PNG
(pouze GIFy, PNG vypadají stejně)

256 barev,
GIF: 19,1KB; PNG: 18KB
128 barev,
GIF: 17,4KB; PNG: 17,4KB
48 barev,
GIF: 17,2KB; PNG: 17,1KB
16 barev,
GIF: 12KB; PNG: 12,6KB

Shrnutí

Na závěr jsem poznatky o formátech GIF, JPEG a PNG stručně shrnul do přehledné tabulky:

formát GIF JPEG PNG
vznik 1987 1990 1996
hlavní použití jednoduché grafické objekty, ikony, loga, navigační prvky… fotografie, grafika s velkým množstvím barev a jejich odstínů od jednoduchých ikon až po fotografie
barevná hloubka 8 bitů (lze i méně); až 256 barev 24 bitů; až 16,7 mil. barev 8 bitů (lze i méně) či 24 bitů; až 16,7 mil. barev
transparence ano (jen GIF89a, jedna barva) ne ano (více různě průsvitných barev)
animace ano ne ne
komprese ano, bezztrátová ano, ztrátová ano, bezztrátová
přípona .gif .jpg, .jpeg .png
MIME typ image/gif image/jpeg image/png
poznámka většina grafických programů obsahuje optimalizační nástroje pro export do těchto formátů, formáty GIF a JPEG jsou zatím rozšířenější než PNG

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Předchozí článek E-vysocina.cz
Štítky: Články

Mohlo by vás také zajímat

Nejnovější

12 komentářů

  1. Pavel Hruška

    Srp 6, 2009 v 13:42

    Obsažné, stručné, srozumitelné. Více takových informací !

    Odpovědět
  2. Pavel

    Čvc 30, 2010 v 19:33

    Souhlasím jasné stručné jak má být…

    Odpovědět
  3. FRANTISEK PODSEDNIK

    Led 17, 2011 v 10:41

    JSEM ZAČATEČNIK PROSÍM O RADU JAK CO NEJEDNODŠEJI MOHU ME OBRAZKY V POČITAČI UPRAVIT DO SISTÉMU JPG NEBO JPEG DĚKUJI ZA LASKAVOST S POZDRAVEM FR.PODSEDNIK

    Odpovědět
  4. Anonym

    Led 20, 2011 v 10:34

    Vážený pane Františku Podsedníku, tato diskuze není poradním fórem. Když pomineme že se neptáte na správném místě, musím vám vytknout formu jakou se ptáte. I kdyby někdo vám chtěl nakrásně pomoct, nemůže, nemá křišťálovou kouli, nevidí co myslíte vaším počítačem. Když se ptáte, musíte uvést alespoň základní informace jako je typ operačního systému (Windows, Linux, Mac, …), jeho verze. Kolik takových obrázků máte (desítky, stovky, tisíce, …) atd.

    Takže na vaši jednoduchou otázku není jednoduchá odpověď. Raději zkuste trochu hledat sám. Je tu Google a dotaz „Jak uložit obrázky do JPG“ vás určitě uspokojí.

    Odpovědět
  5. Josef

    Led 14, 2012 v 21:13

    Jsem začátečník. Prosím o radu, jakými programy se dá pracovat s obrázky formátu JPG, JPEG, BMP File, GIF File a PNG a jak by šlo obrázky formátu BMP File, GIF File a PNG převést do formátu JPG. Děkuji za laskavost a jsem s pozdravem Josef.

    Odpovědět
    • Honza

      Čvc 7, 2016 v 9:53

      uložit jako .. pokud to půjde u gifu si nejsem jistý tam je max rozlišnení 256 barev

      Odpovědět
  6. rrrre

    Pro 16, 2012 v 13:09

    Nechápu

    Odpovědět
  7. Anonym

    Led 8, 2014 v 20:17

    Díky, bylo článek byl jasný, srozumitelný
    a pomohl mi.
    Danuše

    Odpovědět
  8. Markéta

    Kvě 26, 2014 v 16:02

    Nevím proč jsou někteří ,,chytří“ tady tak arogantní vůči těm co začínají. Vždyť i oni také nevěděli hned všechno.
    Pokud potřebujete dát obrázek do formátu JPEG otevřte si tento obrázek v malování a dejte uložit jako …….tam máte na výběr např. JPEG,GIF atd.

    Odpovědět
  9. Janek

    Říj 6, 2015 v 13:37

    Díky, potřeboval jsem důkaz, že je .png bezztrátový:)

    Odpovědět
  10. Emil Treska

    Říj 19, 2016 v 13:25

    dobrý večer, máte někdo zkušenosti s programem zav? :)))

    Odpovědět
    • Miroslav Bauer

      Zář 23, 2019 v 11:16

      ano :) ano :) ano :) ano :)

      Odpovědět

Napsat komentář: Miroslav Bauer Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *