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

I write about

GIMP v příkladech 10: Semafor

Pro náš načatý semafor doplníme ještě jeden malý detail – vytvarujeme plech, který kryje sklo. Článek původně vyšel 13.3.2006 na serveru AbcLinuxu.cz.

Dokončení semaforu

Pomocí bump-mappingu a výběru “vylisujeme” do plechu asi takový reliéf:

Reliéf plechu

Nejdříve si musíme stvořit elevační mapu. Založíme tedy novou průhlednou vrstvu, kterou pojmenujeme prostě Mapa. Tu prstencovou část, která bude vyvýšena, musíme vyplnit bílou barvou, zbytek vrstvy pak černou. Připomínám, že nejrychleji nastavíme černou jako barvu popředí klávesou D, nástroj Plechovka (Bucket fill) pak aktivujeme kombinací Shift+B. Zaplavíme tedy celou vrstvu Mapa černou a pak u ní vypneme viditelnost. Nyní nastává čas pro hrátky s mocnou funkcí Výběr (Selection). Představíme si čtyři drobné, avšak užitečné funkce:

Zmenšit (Shrink)

Celá oblast výběru se zmenší, smrskne dovnitř o zadanou vzdálenost. Lze si to představit jako obkreslování tvaru výběru zevnitř - tvar se zmenšuje.

Zvětšit (Grow)

Funkce provádí operaci opačnou k předchozí, výběr se rozrůstá ven. Tentokrát jako bychom tvar výběru obkreslovali zvenku.

Obvod (Border)

Zde je výběr rozšířen ven i dovnitř, čímž vzniká okraj. Nová oblast výběru tedy není obsah původního tvaru, ale jen pruh, který obkresluje původní obrys.

Schéma funkce Obvod (Border)

Pokud si vezmeme tuto ilustraci (opět nakreslenou pomocí GFigu), funkce Obvod byla použita s parametrem (vzdáleností) X. Toto X je šířka vzniklého pruhu, neboli vzdálenost jeho (modrých) okrajů. Vnitřní okraj tohoto pruhu byl tedy získán stejně, jako kdybychom na původní okraj použili Zmenšit (Shrink) s parametrem X / 2. Analogicky, vnější okraj byl získán, jako kdybychom na původní okraj použili Zvětšit (Grow) s parametrem X / 2.

Zaostřit (Sharpen)

Odstraní jakékoliv jemné přechody výběrů. Ty vznikají výběrem oblastí s různými stupněmi průhlednosti. Například příkaz Alfa do výběru, který později využijeme, vybírá ty části vrstvy, které nejsou průhledné. Jenže GIMP u pixelů rozlišuje mnoho úrovní průhlednosti, což je logické, jinak bychom nemohli tvořit plynulé přechody barvy do průhlednosti. To, že některé pixely jsou průhledné více než jiné, také znamená, že některé pixely jsou tímto příkazem “vybrané více než jiné”. A právě f-ce Zaostřit tento jev odstraňuje - zajistí, že pixely ve výběru jsou “vybrány všechny stejně” :-D.

Ale teď už zpět k semaforu. Pro získání potřebného prstence nejprve do výběru dostaneme samotnou díru v plechu. Tento výběr pak rozšíříme, za použití Obvodu jej proměníme v prstenec a Zaostříme jej.

Díra v plechu existuje pouze v podobě masky (layer mask), jenže jsme si ji na konci minulého dílu trochu rozmazali, takže ji k výběru používat nebudeme. Místo toho vybereme vrstvu Sklo a použijeme Vrstva -> Průhlednost -> Alfa do výběru (Layer -> Transparency -> Alpha to selection). Tak máme ve výběru (zhruba) rozměry díry. Dále přichází na řadu zvětšení tohoto výběru. Nejdříve si stanovme šířku budoucího prstence - X, řekněme 30 pixelů. Parametr pro Zvětšit (Grow) bude poloviční šířka budoucího reliéfu (X / 2), v tomto případě tedy 15 pixelů. Jakmile máme výběr rozšířený, konečně jej proměníme v prstenec spuštěním Obvodu (Border) s parametrem X (30 pixelů).

Jelikož okraje červeného skla nebyly přesně zaostřené a do průhlednosti přecházely plynule, i výběr není úplně ostrý. Napravíme to použitím výše zmíněného Zaostřit (Sharpen).

Nyní už stačí vybrat a zviditelnit vrstvu Mapa a Plechovkou vyplnit výběr bílou barvou. Ještě než tuto elevační mapu použijeme, maličko zjemníme přechod bílé a černé barvy naším známým filtrem Gaussovo rozostření s oběma parametry 2.0 px. Nakonec můžeme Mapu zneviditelnit.

Vrstva mapa

Přichází poslední kouzlo - bumpmapping. Zvolte vrstvu Plech a otevřete dialog Filtry -> Mapa -> Mapa vyvýšení (Filters -> Maps -> Bump Map). Není nutné hluboce zasahovat do nastavení, stačí jen zvolit správnou Mapu vyvýšení (Bump map) - vrstvu Mapa a filtr spustit.

Dokončený semafor

Tím kresbu jednoduchého semaforu ukončíme. Pro jednoduchost jsem zatím vynechal stínítko nad sklem. Ve zbytku článku se vrhneme na další mocnou feature GIMPu. Cesty budeme potřebovat k nakreslení semaforu pro chodce.

Cesty (Paths)

Cesty jsou vektorové Beziérovy křivky, které lze v GIMPu volně kreslit a upravovat. Křivka se skládá z kotevních (anchor) bodů, kterými přímo prochází. Každému z těchto bodů pak přísluší dva body kontrolní (handles), které určují směr křivky při “vstupu” a “výstupu” z/do kotevního bodu. Při prvotním umístění každého kotevního bodu s ním jeho kontrolní body sdílejí stejnou pozici, takže “křivka” je přímá - polygonální.

Jedna cesta se může skládat z několika komponent, tedy vzájemně nepropojených skupin spojených bodů. Ačkoli komponenty nejsou přímo spojeny, stále patří do jedné cesty.

Cesty mají dvě hlavní využití:

Pro vkládání a úpravu cest slouží nástroj Cesty (Paths) s klávesovou zkratkou B. Pracuje ve třech režimech, přičemž v prvních dvou lze rozlišit a nastavit aktivní bod (popřípadě body), ke kterému se vztahují další operace. Aktivní bod je zobrazován jako prázdná kružnice, ostatní body jsou představovány černě vyplněnými kruhy.

Funkci Cesty je v GIMPu vyhrazena celá odrážka (tab). Najdeme v ní všechny cesty v obrázku naskládané na sobě podobně jako vrstvy, s možností měnit jejich pořadí, přepínat viditelnost a pojmenovávat je. Důležitý je výběr, která cesta je právě aktivní.

Dole pod seznamem cest se kromě obvyklých tlačítek pro vytváření, přesouvání a mazání nacházejí ještě další tři, zpřístupňující ono vzpomínané využití cest :

Vím, že takový hutný souhrn tolika funkcí může vypadat dost složitě, ale pokud si spustíte GIMP a chvíli si s nástrojem Cesty pohrajete, jeho ovládání vám přejde rychle do krve. Není tak komplikovaný, jak může na první pohled vypadat. BTW, to ovšem platí o celém GIMPu ;-)

Kvůli trochu delší teorii se do tohoto dílu už nevměstnala část o semaforu pro chodce, takže ji najdete v díle příštím.

March 13, MMVI — GIMP in Examples.