Bezpečné barvy
Netscape Color Cube, jinak také Netscape color palette, bezpečné barvy, webové barvy, je podmnožina barevného prostoru RGB a obsahuje z něj právě takové barvy, u kterých se lze spolehnout na věrné zobrazení na všech HW zobrazovacích zařízeních, stejně jako i na jejich generování v SW systémech. Za bezpečné se tyto barvy považují proto, že je zařízení generují a zobrazují bez ditheringu, bez namíchávání barevného tónu prokladáním puntíků nepřesných odstínů, které by pak v průměru měly požadovanou barvu tvořit.

Motivace a historie 
Barvy používané pro webdesign se obvykle specifikují aditivně v RGB. Zpočátku omezená barevná hloubka většiny prvotního video-hardwaru vedla k omezení barevné palety na 216 RGB, definováno jako Netscape Color Cube. Jejich počet 216 vyšel jako výsledek rovnoměrného pokrytí celého objemu gamutu. Bezpečná barevná paleta pro web se tedy skládá z 216 kombinací červené, zelené a modré, kde se ve všech třech osách gamutu dělí jasový rozsah základních barev na 5 stejných intervalů. Tak je na osách definováno 6 bodů, 6 jasových úrovní každé barvy:

Pro každou barvu pak platí, že má jednu z pouhých šesti možných hodnot, což pro 3-barevný gamut dává 216 odstínů (6³ = 216).

Redukovaný zápis 
Tento RGB barevný model byl formálně přijat jako internetový standard v HTML ve verzi 3.2.

Při zápisu v CSS se pak obecně v RGB (při 8bitové barevné hloubce) používá zápis libovolné barvy pomocí 6 hexa-cifer, v zápise #RRGGBB. Například červenou lze kromě vyhrazeného klíčového slova red zapsat také číselnou hodnotou #FF0000.

Výhodou bezpečných barev je pak mj. to, že
 je lze zapsat redukovaně, pomocí pouhých tří cifer.
 A navíc ještě s omezením, že se nepoužívá všech 16 možných číselných hodnot, ale jen násobky tří,
 což zrovna pro 16-kovou soustavu s hraničními hodnotami 0 a 15 umožňuje s výhodou pokrýt i obě hraniční hodnoty, tedy jde o oboustranně uzavřený interval hodnot.
Redukovaný zápis #RGB pak pro červenou je #F00. Redukovaně lze v CSS/HTML zapisovat obecně jakékoli barvy, které mají zdvojené cifry všech třech kanálů, ovšem ne každá taková barva je bezpečná, ne každá je totiž dělitelná třemi, na všech třech osách.

Analogie datové redukce ke kódování znaků textu 
Ačkoli jsou oba zápisy různě datově/paměťové náročné, z  uživatelského pohledu oba nesou stejnou informaci, stejný užitek. Stejný princip se uplatňuje při kódování textu do binátních dat, když znaky z až 6bajtového UTF-16 lze pro neexotická běžná písma redukovat na UTF-8 (každý druhý bajt je nula), a to beze ztráty informace, při známém předpokladu, že „jde o latinku“. A v druhém sledu lze až tří bajtové UTF-8 zredukovat na jedno-bajtovou kódovou stránku, nebo dokonce na pouhé 7bitové ASCII. Obdobně lze na jedno-bajtovou znakovou sadu redukovat i dvou-bajtový BigEndian Unicode, který při své konstantní délce také opět obsahuje spoustu nul a plýtvá tak místem na úložišti.

Pojmenované barvy 

V HTML/CSS je pojmenováno cca 147 barev. V tomto množství je významný průnik s bezpečnými barvami: Ačkoli ne všechny pojmenované barvy jsou "bezpečné", mají hodnoty i mimo množinu {0, 3, 6, 9, C, F}, i tak jsou v těsném vztahu k bezpečným barvám.

Význam dnes 
Při dnešní převaze 24bitových displejů je využito plných 16,7 miliónů barev JPEG. Proto význam bezpečných barev již pomíjí. Význam si drží pro webdesign, kde se očekává, že vytvořená stránka bude vypadat stejně na všech zobrazovacích zařízeních, bez ohledu na jejich stáří. Jde tedy o zpětnou kompatibilitu.

S nástupem smartphonů bezpečné barvy opět získaly na významu.

Opravdu bezpečné barvy 
David Lehn a Hadley Stern zjistili, že na počítačových displejích s 16bitovou hloubkou v každém barevném kanálu (high color, až 48 bitů pro barvu jednoho pixelu) je zobrazeno bez přemapovávání na jiné barvy vlastně jen 22 z původních 216 barev bezpečné palety pro web.

Odkazy

Reference

Související články 
 GIF
 Wikipedie:Tabulka barev
 barevný prostor
 gamut
 desktop publishing

Externí odkazy 
 Tichavský, Jan: 216 bezpečných barev pro web, jakpsatweb.cz

Barevné prostory
Počítačová grafika
Webdesign
Kódování