Hlavní navigace

Grafika v UNIXu - přehled softwaru

16. 8. 2001
Doba čtení: 4 minuty

Sdílet

Když se řekne UNIX, málokomu se vybaví grafické pracoviště, a to přesto, že první grafické stanice byly UNIXové. Od té doby však uběhlo mnoho času.

Na začátku našeho seriálu se porozhlédneme po tom, co možná najdete na disku nebo ve své distribuci, zcela určitě pak na Internetu.

Ačkoliv by se mohlo zdát, že svobodných programů pro grafiku na UNIXu není až tak mnoho, opak je pravdou. Od neumělých pokusů, které zapadly dříve, než stačily dosáhnout verze 0.01-alpha, až po téměř dokonalé nástroje, za které by se nemusela stydět žádná softwarová firma. (Však i D. E. Knuth, autor TEXu prohlásil: „Kdyby se TEX prodával, byl by velmi drahý.“ O GIMPu lze říci totéž.) K práci nepotřebujeme jen obrovské balíky s tisícem funkcí – stejně dobře nám poslouží i jednoduché nástroje, které svou jedinou funkci zvládají dokonale.

V našem seriálu o grafice se budeme věnovat pouze programům s otevřeným kódem. S jedinou výjimkou se v následujícím seznamu také jedná o svobodný software.

Protože pod slovem grafika si můžeme představit leccos, začneme poněkud nudným přehledem části toho, co z jejích různých oblastí lze na webu najít. Zdaleka ne všechny grafické nástroje potřebují okna – příkazová řádka je mocným nástrojem zvlášť pro dávkové zpracování obrázků.

Převodníky a knihovny grafických formátů

Má-li počítač zobrazovat nějakou grafiku, musí obsahovat grafickou kartu a obslužný software (X-server). Dalšími prvky v pozadí jsou knihovny a převodníky grafických formátů.

Snad prvním grafickým převodníkem je pbmplus od Jefa Poskanzera. Grafické formáty sice hloupé a neúsporné (pbm + pgm + ppm = pnm – Portable aNy Map), ale mimořádně jednoduché, stejně jako možnost zpracování obrázků rourou z příkazové řádky, byly základem úspěchu tohoto balíku. Jeho poslední verze sice vyšla před deseti lety, ale jeho následníka, NetPBM, najdete zřejmě v každé distribuci. Převzal veškerý kód (i chyby) z pbmplus a přidal vše, co napsali autoři z různých konců Sítě (= světa). Umí převést různé grafické formáty z/do pnm a obsahuje množství filtrů.

Jeho novějším následníkem je ImageMagick. Univerzální grafický formát nahradil aplikačním rozhraním, tzv. delegáty. Uživatel má k dispozici jen jeden konvertor (convert), který ovládá všechny formáty. Na rozdíl od NetPBM neztratí ImageMagick speciální informace v souboru (rozlišení, barevný profil, hodnota gama, průhlednost apod.). K tomu přibyly interaktivní grafický editor/převodník (display), několik dalších převodních a kombinačních programů a v neposlední řadě i perlové aplikační rozhraní. Za své robustní rozhraní platí větší paměťovou a časovou náročností v porovnání s NetPBM.

Práci s populárním ztrátovým grafickým formátem JPEG (Joint Photographic Experts Group) zajišťuje v UNIXu téměř výhradně stejnojmenná knihovna. K ní jsou přibaleny programy cjpeg a djpeg pro převod do pnm (jak jinak) a programy pro práci s jpeg soubory. (Při vývoji programu Netscape byly některé části této knihovny urychleny přepsáním do MMX kódu, přestože je však tento kód pod licencí GPL, zatím jsem tyto úpravy nikde samostatně na síti neviděl.) Již méně populární je stejně zajímavý ztrátový grafický formát JBIG pro čárovou grafiku. Knihovnu pro práci s ním najdete zde. Pokud vás zajímá podpora nejnovější verze formátu JPEG2000, musíte se poohlédnout po projektu Jasper. Bezztrátovou JPEG kompresi LJPEG (DICOM) pak zpracuje například knihovna jpeg se záplatami z ImageMagicku. Pokud se budeme zabývat typografií, zřejmě se nám hodí i bezztrátový převod formátu JPEG do PostScriptu pomocí prográmku jpeg2ps.

Relativně novým standardem webové grafiky je PNG (Portable Network Graphics). Oproti formátu GIF (viz dále) nabízí licenční svobodu, plnou barevnost, nezávislost na nastavení gama křivky a kvalitní bezztrátovou kompresi. Jeho mladším bratříčkem je Multiple-image Network Graphics, což je obdoba PNG pro animovanou grafiku. Obě specifikace zároveň obsahují i referenční knihovnu, podpora pro obě je zahrnuta v projektu Mozilla. Ke knihovně PNG nejsou přiloženy žádné pomocné aplikace, a tak za všechny, co jich na webu je, uvedu jen pnmtopng.

Další populární grafický formát TIFF (Tagged Interchange File Format, další specifikace formátu zde, zde a zde) v UNIXu opět zpracovává téměř výhradně jediná knihovna libtiff. K ní je opět přibaleno několik nástrojů a převodníků. Pokud je chcete používat profesionálně, aktualizujte na verzi 3.5.7 (starší verze tiff2ps měla závažné problémy, zvlášť na PostScriptových interpretrech od firmy Adobe). Ostudná kauza s firmou Unisys způsobila, že byl z balíku oddělen dodatek pro „neamerické občany“ jménem tifflzw. Kdo sleduje dění kolem patentových zákonů, jistě tuší, co je obsahem tohoto dodatku. Pokud nejste zrovna v USA, můžete jej k libtiff připojit bez obavy z tučné pokuty (zatím).

Zmíněná kauza zasáhla ještě mnohem citelněji software pro práci s formátem GIF. Když jsem hledal odkazy na knihovnu libgif, která byla ještě před pár lety běžně dostupná, dostal jsem se po pár přesměrováních na stránku (i v USA) právně čistého projektu libungif. Ten ovšem GIF nezapíše… Nějakým zázrakem libgif zůstala ještě na archivech Metalab (prohledávač od Unisysu zřejmě neumí FTP).

Formáty PostScript a PDF nejsou jen grafickými formáty, jsou to jazyky pro popis stran (alespoň PostScript si tento název zaslouží). Při profesionální práci s tištěnou grafikou se jim nevyhneme. Jsou to jediné formáty svého druhu, pracují s nimi tiskárny, osvitové jednotky, barevné plotry i některé X-servery. V zpracování těchto formátů vyniká Ghostscript, který nechybí snad na žádném UNIXovém počítači. Užitečné jsou též psutils, sada jednoduchých nástrojů pro úpravy PostScriptových souborů (přestránkování, seskupování a výběr stran apod.).

root_podpora

Z převodníků a knihoven grafických formátů ještě stojí za zmínku alespoň libwmf pro formát Windows MetaFile. Tím jsme sice zdaleka nevyčerpali všechny, ale pro začátek si vystačíme.

Příště se rozhlédneme po grafických uživatelských aplikacích…

Byl pro vás článek přínosný?