V článku možno nájsť popisy skriptov, ktoré už boli zverejnené na tomto serveri, ale sú roztrúsené zväčša v diskusných príspevkoch, pretože boli vytvorené ako reakcia na riešenie konkrétneho problému.

Keďže som zistil, že funkčnosť požadovaná autormi príspevkov by sa hodila aj mne, a samotné riešenie nebolo veľmi zložité, rozhodol som sa k ich napísaniu. Upozorňujem, že nie som žiadny programátor, takže miestami budú podľa toho vyzerať aj niektoré konštrukcie. Dúfam, že skripty sa môžu stať pre niekoho pomôckou, preto som sa rozhodol vytvoriť tento krátky prehľad.

Trochu teórie na začiatok

Používanie skriptov v grafickom editore GIMP umožňuje automatizovať často používané operácie, pričom sa nemusí jednať len o jednoduché operácie, ktoré sa vykonávajú presne krok po kroku, ale v rámci skriptovacích jazykov je k dispozícii výkonný programovací aparát, ktorým je možné relatívne jednoducho rozšíriť funkčnosť GIMP-u podľa svojich požiadaviek. Odvrátenou stranou tohto prístupu (napr. voči grafickému editoru PhotoShop) je absencia možnosti používania jednoduchých makier, ktoré je možné „nahrať“ ako postupnosť jednotlivých operácii v špeciálnom móde. Predsa len používanie skriptovacieho jazyka vyžaduje aspoň základnú znalosť jeho syntaxe, čo je pre mnohých neprekonateľnou prekážkou. Samotné použitie skriptov je naproti tomu pohodlné. Je možné využívať aj niektoré prvky GUI, ktoré umožňujú nastaviť rôzne parametre skriptov, takže z užívateľského pohľadu sú prakticky nerozlíšiteľné s pluginmi.

V GIMP-e je možné použiť niekoľko rôznych skriptovacích jazykov. Najstarším z nich je Script-Fu, ktorý je funkčný asi na všetkých platformách. Ostatné skriptovacie jazyky majú obmedzenie v tom, že nie sú dostupné na všetkých platformách, alebo ich nie je možné používať v starších, ale ešte stále používaných verziách GIMP-u. Čo sa týka Script-Fu, samotný skriptovací jazyk sa síce nezmenil od jeho začiatku používania v GIMP-e, ale s rôznymi verziami GIMP-u sa menil počet a rozhranie funkcií procesnej databázy, takže ani tu nie je možné dosiahnuť stopercentnú prenositeľnosť. Ale aj tak, z tohto pohľadu, vychádza Script-Fu najlepšie spomedzi všetkých skriptovacích jazykov použitých v GIMP-e.

Pokiaľ sa chcete oboznámiť s tvorbou skriptov v Script-Fu, na tomto serveri vychádza seriál venovaný základom práce so samotným jazykom, ako aj s písaním samotných skriptov [1]. Script-Fu využíva jazyk SIOD (Scheme In One Defune), ktorého popis možno nájsť v [2]. Jedná sa o jazyk vychádzajúci z programovacieho jazyka LISP. Pekný seriál o tvorbe skriptov v Script-Fu v angličtine možno nájsť v Mike Terry’s Black Belt School of Script-Fu [3]. Pokiaľ máte knihu The GIMP: The Official Handbook [4], ktorá je voľne prístupná aj v elektronickej forme, v kapitole 43 môžete nájsť Mike Terry’s Black Belt School of Script-Fu a v prílohe C popis jazyka SIOD.

Popis skriptov

V tejto časti nájdete samotný popis funkcie skriptov a odkazy, odkiaľ ich môžete získať. Samotná inštalácia skriptov je, na rozdiel od pluginov v zdrojovom tvare, veľmi jednoduchá pre akúkoľvek platformu – stačí súbor skriptu umiestniť v adresári vyhradenom pre skripty. Tento adresár má názov /scripts a nachádza sa v rovnakom adresári, v akom sa nachádzajú vaše konfiguračné súbory pre GIMP. Na systémoch typu UNIX je to pre GIMP 1.2.x v domovskom adresári ~/.gimp-1.2/scripts/ . Tu uvádzané skripty budú nasledovať v chronologickom poradí, tak ako postupne vznikali od novembra 2003.

Všetky skripty sú určené pre GIMP 1.2 a bez úprav nemusia fungovať v novom GIMP 2.0. Pokiaľ mi bude známe, že sú funkčné aj pre GIMP 2.0, alebo je k dispozícii aj verzia pre tento GIMP, v texte na to upozorním.

crop_from_selection.scm

Tento skript nerobí nič viac, len aplikuje orezanie obrázku na pravouhlý výber, takže časť obrázku na vonkajšej strane výberu bude orezaná. Samotná funkcia pre orezanie obrázku síce obsahuje v dialógovom okne možnosť použiť na orez výber, ale pri veľkom počte použití tejto funkcie zdržuje otváranie dialógového okna. V takomto prípade sa hodí, pokiaľ je pre túto funkciu priradená klávesová skratka (osobne mám nastavenú klávesovú skratku Y, ktorá nie je v štandardných skratkách GIMP použitá), takže stačí len spraviť pravouhlý výber, zodpovedajúci požadovanému obrázku a stlačiť klávesovú skratku. Cez menu je funkcia dostupná z obrázok>Script-Fu>Selection>Crop From Selection. Skript pracuje s každým druhom obrázkov – RGB, šedotónovými, ako aj indexovanými.

O tom, prečo skript vznikol, je možné sa dočítať v tejto diskisii. Vďaka sverak_net je možné používať aj upravenú verziu pre GIMP 1.3 (predpokladám, že táto verzia by mohla fungovať aj pre GIMP 2). Úprava vyžaduje drobnú editáciu súboru skriptu (odkomentovanie a zakomentovanie niektorých riadkov). Pre tých, ktorí si na to netrúfajú je pripravená verzia crop_from_selection2.scm.

red_eye.scm

Popis tohto skriptu je možné nájsť v samostatnom článku Efekt červených očí na fotografiách [4]. Podľa reakcií k článku je možné usudzovať, že by mal byť funkčný aj pre GIMP 2. Pretože funkciu často používam, mám pre ňu priradenú klávesovú skratku Shift+R.

erase-rows-2.scm

Nejedná sa o môj pôvodný skript, ale len o úpravu existujúceho skriptu, ktorý umožňuje každý druhý riadok obrázku nahradiť zvolenou farbou podkladu, alebo nastaviť alfa kanál pre tieto riadky na priehľadné. V dialógovom okne je možné okrem toho vybrať orientáciu – či sa má jednať o riadky alebo o stĺpce obrázku. Nevýhodou pôvodného skriptu, ktorého autorom je Federico Mena Quintero, že neumožňuje nastavenie počtu riadkov, ktoré majú byť zneviditeľnené. Z tohoto dôvodu som skript upravil tak, že je možné nastaviť samostatne počet riadkov, ktoré majú byť pôvodné, ako aj počet riadkov, ktoré majú byť nahradené farbou pozadia, alebo nastavením alfa kanálu. Cez menu je funkcia skriptu dostupná z obrázok>Script-Fu>Alchemy>Erase every n-th Row… Rovnako ako v predchádzajúcom prípade, skript pracuje s každým druhom obrázkov – RGB, šedotónovými, ako aj indexovanými.

To by bolo na dnes všetko, popis niekoľkých ďalších skriptov, ak by bol záujem, si môžete prečítať v nasledujúcej časti.

mpro

Zoznam použitej literatúry a odkazy na zdroje

 

Počet komentářů: 6

  1. mpro:

    Pozeram, ze sa do uvedenych odkazov dostala preklepom chyba — spravny odkaz na Mike Terry’s Black Belt School of Script-Fu je:

    http://www.klaban.torun.pl/help/script-fu-tutorial/

    Dalsia chyba, aj ked nie taka podstatna, je v odkaze na pouzite zdroje. V texte je pre clanok o cervenych ociach uvedeny odkaz do zoznamu pouzitej literatury a odkazy na zdroje na zdroj [4], co je v tomto zozname The GIMP: The Official Handbook

    Za uvedene chyby sa ospravedlnujem.

  2. cornelius:

    Není nahodou “~/.gimp-1.2/images-clanky/mpro/02/scripts/ ” spatne uvedeny adresar? Nemelo by byt “~/.gimp-1.2/scripts/ ” ? ;)

  3. mpro:

    Ano, ma to byt ~/.gimp-1.2/scripts/ . K chybe doslo pravdepodobne pri uprave pred publikovanim clanku. Niektore cesty k odkazom bolo treba upravit a zda sa, ze sa upravy dotkli aj ciest v texte. K uvedenemu problemu by sa pravdepodobne mohol kompetentnejsie vyjadrit administrator tohoto webu.

  4. ene:

    Aha, je to jeste nekde? Ja jsem to dala hromadne najit a nahradit…

  5. TomF:

    Mpro, kdy plánuješ pokračování? Určitě se najdou ještě nějaký další šikovný “skript-fy” z tvé sbírky… :)

    Jo - už jsi vyzkoušel v. 2.0? Je pravda, že v ní nejedou všechny skript-fy z v. 1.2 ale určitě stojí za to na ní přejít…!

    TomF

  6. mpro:

    Ono to bol povodne jeden dlhsi clanok, ktory som rozsekol na dva. Kedy vyjde dalsi diel nezavisi tak celkom od mna, zaslane boli zaroven obidva diely.

Zanechat komentář