Mathematics, philosophy, code, travel and everything in between. More about me…

I write about

GIMP v příkladech 12: Mapa k pokladu I

Dnes použijeme několik nových nástrojů k nakreslení zašlé, zmáčené a potrhané Pravé Pirátské Mapy k Pokladu™. Článek původně vyšel 12.4.2006 na serveru AbcLinuxu.cz.

Taková mapa má několik charakteristických vlastností. Musí být nakreslena na hrubém papíře, být potrhaná (pro důvěryhodnější vzhled i ohořelá), písmo i kresby musí být špatně čitelné a všechny šipky musí vést k obligátnímu červenému křížku. Tolik přibližná definice Mapy™.

Po spuštění GIMPu založíme nový obrázek o velikosti 500×500 pixelů. Mapu zobrazíme položenou na nějakém dřevěném stole, pro jednoduchost postačí vyplnit vrstvu Pozadí vzorkem (pattern) Wood #2.

Dále založíme novou vrstvu jménem Papír, ve které (překvapivě) vyrobíme hrubý papír. Šlo by to udělat ručně pomocí bump-mappingu, ale my raději využijeme plug-inu Python-Fu Clothify, který takovou operaci automatizuje. Nachází se v menu obrázku: Python-Fu -> Alchemy -> Clothify (menu ani plug-in není přeložen do češtiny). Skript vygeneruje elevační mapu (pomocí šumu), tu zjemní (rozostří) a pak ji prostřednictvím filtru Bump map aplikuje. Parametry skriptu Azimuth, Elevation a Depth jsou přímo předávány bump-mapovému filtru, parametry X blur a Y blur určují jemnost (rozostření) elevační mapy před její aplikací.

Před použitím Clothify ještě musíme vrstvu vyplnit nějakou šedou nebo nažloutlou barvou - barvou budoucího papíru. Třeba #fffddf. Parametry skriptu lze nechat beze změny všechny kromě Depth (Hloubka), kterou snížíme na 1, což je pro hrubý papír to pravé ořechové. Výsledek vypadá takto:

Hrubý papír

Dalším úkonem je otrhání a okousání okrajů, čehož dosáhneme, jak jinak, pomocí masky (layer mask). Zubaté okraje papíru nakreslíme do masky černou barvou, takže budou průhledné. Použijeme k tomu nástroj Tužka (Pencil), který funguje úplně stejně jako například Štětec, s tím rozdílem, že u stopy striktně vynucuje ostré hrany (hard edges). Ostře definovaný okraj papíru však vůbec nevypadá dobře, proto jej ještě ručně vyhladíme nástrojem Změna ostrosti (Convolve).

Tužka (Pencil) nám nepřináší žádné nové nastavení, nemusíme se jí tedy blíže zabývat. Vrstvě Papír přidáme masku inicializovanou na čistě bílou a pro pohodlnou práci si ji necháme i zobrazit (Zobrazit masku vrstvy / Show layer mask). Obrys je nejlepší kreslit jednopixelovou stopou Circle (01).

Tvar a rozměry papíru teď můžete libovolně ovlivňovat, pamatujte ale na to, že se na něj má vejít několik klikyháků a onen červený křížek :-). Jakmile uzavřete obrys, vyplňte jeho okolí černou barvou (Plechovka, Vyplnit podobné barvy) [Bucket fill, Fill similar colors]. Moje layer mask je taková:

Maska vrstvy Mapa

Takové zubaté okraje je téměř nemožné kreslit na notebookovém touchpadu, naopak výborná je laserová myš.

Pokud nyní vypneme zobrazování masky, uvidíme, že kraje papíru vypadají hrozně. Proto náš kurzor bez meškání spočine na ikoně dalšího nástroje, a to Změna ostrosti (Convolve) se zkratkou V. Sdružuje v sobě jakousi ruční náhradu za filtry Blur a Sharpen (Rozostření a Doostření). Všechna nastavení jsou stejná jako u ostatních nástrojů, bude nás zajímat pouze režim nástroje, který se nastavuje v části Druh změny ostrosti (Convolve type):

Oba názvy mluví za sebe. Působiště nástroje je jako vždy omezeno zvolenou stopou. Razanci působení ovlivňuje (nešťastně přeložený) Přeběh (Rate).

Na ruční zjemňování masky je vhodné vytvořit si novou stopu o průměru 30 pixelů, podobně jako jsme kdysi vytvářeli šedesátipixelovou. Okraje nemusí být všude stejně jemné či hrubé, stačí jen změnit Přeběh (Rate) nebo danou část “přejet” vícekrát. V tom je výhoda oproti použití “tupého” filtru.

Takto může maska a obrázek samotný vypadat. Papír už je znatelně lepší.

Zjemněná maska

A teď přichází na řadu samotná mapa. Založíme si pro ni novou průhlednou vrstvu Mapa, do které si navymýšlíme nějaké ostrovy. Šipky a červený křížek umístíme na zvláštní vrstvu později. Veškeré kresby však tentokrát nebudeme páchat štětcem, ale inkoustem! Seznamte se s novým nástrojem.

Inkoust (Ink) se zkratkou K představuje dobře konfigurovatelnou simulaci klasického inkoustového pera. Chová se podobně jako ve skutečnosti - čím pomaleji kreslíte, tím více inkoustu se stihne dostat na papír a tím je linka výraznější. Jakmile na nějakém místě zůstanete, vytvoří se tam kaňka. Naopak při rychlé kresbě je čára ostrá a tenká.

S tímto nástrojem je nejlepší chvíli experimentovat na čistém obrázku. Pro kresbu ostrovů jsem zvolil základní velikost 2.0, úhel 0.0 a všechna nastavení Citlivosti (Sensitivity) 1.0.

S přesným postupem opravdu nelze radit. Svoji mapu vám tady samozřejmě neukážu, to už bych na onom místě rovnou mohl vyvěsit vlajku “Tady je můj poklad” :-). Speciálně pro tento článek jsem však nakreslil mapu falešnou, která každého svede na špatnou cestu, jeho loď skončí roztříštěná o vápencové útesy a on sám bídně zhyne v nemilosrdných čelistech bílých žraloků. Byli jste varováni.

Velmi zajímavé je nakreslit několik ostrovů na okraj papíru a vrstvě Mapa pak udělat podobnou masku jako má Papír. Části mapy se budou ztrácet v cárech na kraji papíru.

Červený křížek označující cílovou destinaci je lepší umístit na zvláštní vrstvu Mapa - kříž. Jen tak pro pořádek.

Nakreslené ostrovy

Kresby takto vytvořené inkoustem mají daleko k dokonalosti, ale o to nám prakticky jde. Vypadá to tak nějak více pirátsky než GPS mapa na displeji Palmu :-).

Šipky vyznačující cestu od ostrovu k ostrovu nakreslíme trochu jinak: známým nástrojem Štětec (Paintbrush), ale s netradiční stopou Calligraphic Brush, která vypadá opravdu jako stopa štětce. Šipky budou mít svoji vlastní vrstvu, chytře pojmenovanou Šipky.

Šipky

Poslední bod dnešního programu je takové malé překvapení: loď. GIMP umí importovat SVG soubory, tedy vektorovou grafiku. Na webu Open Clipart Library jsem našel takovou pěknou plachetnici, proč ji tedy nevyužít pro zpestření mapy? Jen tak mimochodem prozradím další “vychytávku” GIMPu, a tou je otevírání souborů přímo z webu.

Do malého okénka, které zobrazíme příkazem Soubor -> Otevřít umístění (File -> Open location) zadáme adresu kýženého souboru (http://openclipart.org/clipart//transportation/boating/boat_jarno_vasamaa1 .svg) a je to. Protože GIMP musí provést konverzi z vektorové grafiky do bitmapové, zeptá se, jak velký obrázek má vygenerovat. Pokud stejně jako já pracujete s mapou 500×500 px, optimální šířka (délka?) lodě bude asi 100 pixelů. Otevře se nový obrázek. Pro přemístění lodě do naší mapy stiskneme Ctrl+A pro výběr celé vrstvy a Ctrl+C pro zkopírování do schránky. Pak se přepneme do okna s mapou a stiskneme Ctrl+V pro vložení a zmáčkneme tlačítko pro novou vrstvu, abychom z vloženého výběru udělali klasickou vrstvu. Původní obrázek s lodí už můžeme zavřít.

Pro dnešek skončíme přemístěním vrstvy s lodí (pojmenujme si ji vynalézavě Loď) na začátek šipkové cesty a jejím odbarvením. Taková pěkná světlá plachetnička se na naši zašlou mapu moc nehodí, a tak jí trochu pomůžeme. Nejprve se zbavíme barev příkazem Vrstva -> Barvy -> Odbarvit (Layer -> Colors -> Desaturate). O hnědo-žlutou patinu se pak postaráme v dialogu Vrstva -> Barvy -> Vyvážení barev (Layer -> Colors -> Color balance). Klíčové jsou dva posuvníky směrem ke žluté (yellow) a purpurové (magenta).

Mapa s lodí

Tímto se prozatím loučím, mapu příště dokončíme pojmenováním ostrovů a pomačkáním celého papíru. Mořským vlkům zdar!

April 12, MMVI — GIMP in Examples.