...příklad pro druhou část...
V předchozí části jsme poznali základní kameny jazyka HTML, používaného pro
vytváření WWW stránek. Dnes se budeme zaobírat grafikou na stránkách. Proč tak
brzy? Vždyť HTML má ještě tolik neprobádaných zákoutí... Protože grafika je
jednou z vařených nudlí, na kterých Web utáhl hromadu uživatelů. Známý slogan
říká "prodává obal" a má samozřejmě pravdu. Hezké stránky se ucházejí o přízeň
uživatelů snadněji, než stránky stroze textové, byť s informacemi srovnatelné
kvality.
Ačkoli existují puristé, kteří obrázky ve Webu kategoricky odmítají, v reálné
praxi to bez grafiky nepůjde. Než se však pustíme do technického řešení,
dovolte krátkou úvodní ideologickou promluvu. Vaším heslem budiž "všeho s
mírou". Obrázky je vhodné použít jako ilustrace, pro vytvoření kompaktního
vzhledu stránek z téhož serveru, či pro oživení textu. Nemělo by jich však být
příliš. Jednak by se neúměrně prodloužila doba přenosu stránky k uživateli
(protože obrázky jsou ve srovnání s textem příliš veliké), jednak hrozí
přeplácání. Vzpoměňte, jak pejsek s kočičkou vařili dort. Umístíte-li v dobré
víře na jednu stránku příliš mnoho ozdob, vnikne nepoživatelný zmetek.

A teď již zakormidlujme do technických končin a podívejme se, jak na to. V
současném Webu jsou podporovány dva základní formáty grafických souborů: GIF a
JPEG. První z nich je považován za vhodnější zejména pro kresby s ostrými
hranami mezi jednotlivými barevnými plochami. Bohužel je založen na
patentovaném algoritmu, z čehož vznikly v poslední době poměrně nehezké
tahanice. Je snaha nahradit jej nějakým "nezávadným" formátem s podobnými
vlastnostmi. Horkým favoritem je PNG (Portable Network Graphics), který však
zatím není WWW klienty příliš podporován.
Formát JPEG je doporučován především pro obrázky charakteru fotografií,
oplývající plynulými přechody barev, světel a stínů. Tento formát nezachovává
kompletní obrazovou informaci. Při ukládání do JPEG souboru dává většina
programů možnost zvolit, jak vysokou kvalitu výstupu požadujete. Vyšší hodnota
znamená věrnější obrázek, ale zároveň větší objem dat. Je třeba najít vhodný
kompromis.

Obrázky jsou do stránky vkládány prostřednictvím značky <IMG>.
Jedná se o prostou nepárovou značku, jejíž veškeré chování určují hodnoty
atributů. Má jich k dispozici celou řadu, jak naznačuje tabulka 1. Hvězdičkou
jsou označeny prvky, které zavádí až HTML verze 3.
Tabulka 1: Atributy značky <IMG>
SRC="..." | URL vkládaného obrázku |
ALT="..." | alternativa pro textové klienty |
ALIGN=... | zarovnání vůči okolnímu textu |
ISMAP | obrázek s klikou |
WIDTH=... | šířka* |
HEIGHT=... | výška* |
|
Nejdůležitějším je samozřejmě atribut SRC. Udává, kde má klient vzít
dotyčný obrázek. Jeho hodnotou je lokátor (čili URL), identifikující umístění
obrázku v Internetu. Problematice URL bude věnován jeden z příštích dílů. Zatím
se spokojme s informací, že pro obrázky, uložené ve stejném adresáři jako
stránka, stačí uvést jméno jejich souboru.
Nyní zopakuji větu, kterou ve světě WWW slyšíte na každém rohu. Zobrazení
stránky závisí na klientovi. Pracuje-li v textovém režimu, nejsou mu obrázková
data mnoho platná. Pro takové klienty je určen atribut ALT, kterým lze
zadat alternativní text. Neobrázkový klient jej vloží do stránky na místo
výskytu značky <IMG> a nahradí tak obrázek textem, který jste v
atributu zadali. K dokonalosti má tato náhrada daleko, ale je lepší než nic.
Považuje se za neslušnost použít značku <IMG> bez atributu
ALT.
Ačkoli se to zdá podivné, je s obrázkem zacházeno stejně jako s písmenem. Stává
se bežnou součástí řádku, na kterém se vyskytne. Chcete-li jej osamostatnit,
musíte použít značky <P> nebo <BR>, kterými jej
oddělíte od okolního textu. Když obrázek ponecháte jako součást řádku, můžete
díky atributu ALIGN definovat jeho zarovnání vůči ostatním znakům na
řádku. Přípustnými hodnotami jsou TOP (zarovnají se horní okraje),
BOTTOM (spodní okraje, implicitní hodnota) a MIDDLE. Poslední
varianta se chová lehce podivně. Zarovná totiž střed obrázku proti účaří řádku.
Výsledkem je umístění středu obrázku mírně pod optickým středem řádku. Záleží
na vzájemném poměru velikostí obrázku a písma, zda je výsledek přijatelný.
HTML verze 3 přišel se dvěma novými možnostmi zarovnání. Jsou jimi
LEFT a RIGHT, které vyjmou obrázek z řádku a umístí jej k
levému (pravému) okraji stránky. Text pak nechají obtékat kolem něj. Výsledky
jednotlivých způsobů zarovnání vidíte na přiloženém příkladu.
Obtékané obrázky mohou přinést nepříjemnou komplikci. Může se totiž stát, že
potřebujete zahájit další logicky oddělenou část dokumentu, ale stále se ještě
nacházíte v oblasti textu, obtékající kolem většího obrázku z části minulé.
Bylo by krajně nevhodné umístit zde nadpis další části. Potřebovali byste, aby
byla zahájena až pod obtékaným obrázkem a jasně se tak dalo najevo, že s ním
nemá nic společného. V takovém případě zakončete text značkou
<BR> s atributem CLEAR=ALL. Jeho význam je "zahájit
nový řádek, ale až pod všemi obtékanými obrázky". Kromě hodnoty ALL
lze použít i LEFT a RIGHT. Pak umístí nový řádek pod poslední
obtékaný obrázek u levého (pravého) okraje.
Atributy WIDTH a HEIGHT sdělují klientovi rozměry vkládaného
obrázku v bodech (pixelech). Používají se především pro rychlejší zobrazení
nehotové stránky. Klient teprve přenáší její zdrojový text a třeba se ještě ani
nedostal k tomu, aby zahájil přenos dotyčného obrázku. Díky WIDTH a HEIGHT však
již ví, kolik místa pro něj má vyhradit a jak formátovat okolní text. Bez této
informace by musel čekat, až obdrží alespoň začátek souboru s obrázkem, ze
kterého by vyčetl potřebné rozměry.
Je důležité, aby se uvedená čísla shodovala se skutečnými rozměry obrázku. V
opačném případě někteří klienti (například Netscape Navigator)
zvětší/zmenší/zdeformují obrázek tak, aby vyhověl předepsaným rozměrům.
Připravte se, že na něj nebude zrovna hezký pohled.

Nepříjemnost počítačových grafických formátů spočívá v tom, že předpokládají
pravoúhlý tvar obrázku. Pokud jste postiženi potřebou umístit na stránku něco
nečtverhranného (např. kulaté logo firmy), máte problém.
Nejelegantnější cestou je použít obrázek s průhledným pozadím. Takovou možnost
poskytuje GIF, konkrétně jeho verze z roku 1989. V něm lze jednu barvu označit
za průhlednou. Všemi body obrázku, které jsou zobrazeny dotyčnou barvou, pak
bude prosvítat pozadí stránky.
V případě zmiňovaného loga máme po starostech: logo, vyvedené v černé a bílé,
umístíme na šedé pozadí a šedou zprůhledníme. To lze realizovat buď některým z
obvyklých grafických programů nebo programem specializovaným. Prozkoumejte, zda
váš oblíbený nástroj na přípravu grafiky umí (nebo se dokáže naučit) ukládat
GIF s průhlednou barvou. Tuto možnost nabízí například shareware PaintShop
Pro. Jinou alternativou je použít giftool, distribuovaný jako
freeware. Ten je k dispozici ve formě zdrojových textů v jazyce C, takže by měl
být přeložitelný téměř všude.
Poznámka: Nebudu zde uvádět přesná URL programů, o kterých se zmiňuji. Lze je
nalézt prostřednictvím služby Nosey Parker na URL
http://www.vslib.cz/parker.html
Za transparentním pozadím v GIFu číhají dvě nástrahy. Jednak se vám může stát,
že také uvnitř obrázku se objeví body, nakreslené inkriminovanou barvou. Ty se
stanou průhlednými a v obrázku se tak mohou objevit nežádoucí otvory. Řešení:
přebarvit je podobnou barvou nebo dokonce barvou se stejným složením, která
však bude v tabulce barev uložena na jiné pozici a tudíž nebude průhledná.
Druhou nepříjemností je plynulý přechod obrázku do barvy pozadí (například
vržený stín). Tady je každá rada drahá. Můžete si takové věci prostě zakázat.
Nebo sladit barvy tak, aby barva pozadí stránky co nejpřesněji odpovídala
barvě, do níž obrázek přechází. Systémové řešení by mohl přinést až nový formát
PNG, který umožňuje definovat plynulou škálu průhlednosti.

Je třeba, aby obrázky na stránce nebyly příliš veliké. Za rozumnou lze
považovat velikost řádově v desítkách KB. Přítomnost obrázku, přesahujícího
50 KB, by měla být podložena nějakým dost dobrým důvodem.
Metod, jak redukovat objem dat, není mnoho. O první jsem se již zmínil - je jí
volba vhodného formátu. Experimentujte, zda dotyčný obrázek vychází lépe ve
fromátu GIF či JPEG (zde si navíc pohrát s nastavením kvality).
Druhou možností je prostě zmenšit rozměry obrázku. Pokud by tím utrpěla
informace, kterou přináší, lze zvolit kompromis. Vytvořte k obrázku jeho
náhled, tedy verzi zmenšenou na velikost poštovní známky. Náhled umístěte na
stránku a udělejte z něj odkaz (jak, se dozvíte později). Když si jej uživatel
vybere, obdrží kompletní verzi. S původní stránkou tedy uživatel dostane jen
velmi malé náhledy, které mu však poskytnou dobrou představu, co zhruba může od
daného obrázku očekávat. Pokud jej zajímá, může na přání získat plnou (velkou)
verzi.
Poslední odtučňovací metodou je redukce barev. Ta se týká jen formátu GIF, v
JPEG nemá žádný smysl. Je zbytečné využívat maximálního počtu 256 barev, který
GIF nabízí. Kresby zpravidla vystačí se 16 barvami, fotografie lze většinou
redukovat na 64 nebo dokonce 32 barev, aniž by tím příliš utrpěla jejich
vizuální kvalita. Experimenty se v této oblasti opět vyplácí.
|