pannon egyetem, veszprém modern filológiai és...
TRANSCRIPT
Pannon Egyetem, Veszprém
Modern Filológiai és Társadalomtudományi Kar
Tanárképző Központ
Tanári mesterképzési szak
Informatikatanári szakképzettségi terület
Webes és képszerkesztési technológiák
A GIMP és a Script-Fu fejlesztői környezet
Készítette: Hosszú István (IMKR35)
Veszprém
2010
2
Tartalomjegyzék
Bevetetés ................................................................................................................................ 3
A GIMP ................................................................................................................................. 4
A gimp legfontosabb tulajdonságai ................................................................................... 4
A Gimp működés közben .................................................................................................. 5
A kép mozgatása és az Eszköztár ...................................................................................... 8
Rétegek ............................................................................................................................ 12
Rétegek kapcsolatai, rétegműveletek .............................................................................. 14
Script-Fu program írása ....................................................................................................... 16
Irodalomjegyzék .................................................................................................................. 24
Mellékletek .......................................................................................................................... 25
3
Bevetetés
A magyarországi középiskolákat végignézve a Microsoft termékek dominanciája
egyértelmű, köszönhetően a pályázati és kormányzati támogatásoknak. Egy átlagos iskolai
számítógépparkot vizsgálva a kép eléggé egyhangú. Operációs rendszerként Microsoft
Windows XP, szövegszerkesztő, táblázatkezelő, adatbázis-kezelő, prezentáció készítő és
weboldalszerkesztő programok alternatívájaként a Microsoft Office valamely verzióját
találjuk. A hálózatok kezelésénél, fájl- és levelezőszervereknél tapasztalható némi változás,
ugyanis itt több helyen alkalmaznak Linux alapú kiszolgálókat. A speciális szakokat oktató
iskoláknál (például: ruhatervező, elektroműszerész, informatikus stb) a szükséges
kiegészítő szoftverek sokszínűsége hoz némi felüdülést az egyhangúságba, azonban a
speciális szoftvereknek a legtöbb esetben csillagászati ára van.
Az internet térhódításával szinte egyidejűleg terjedtek el az ingyenes szoftverek. A
nyílt forráskód és a legtöbbször költségmentes kereskedelmi alkalmazás ötvözeteként a
népszerűség egyre csak fokozódik. A saját iskolámban immáron 10. éve a tananyag része
egy képszerkesztés és képmanipulációt segítő szoftver megismerése. Kezdetben 30 napos
próbaverzió illetve korlátozott tudású szoftverekkel próbálkozott az intézmény, majd a
Corel régebbi, ingyenessé tett változataival folytatódott a sor. Szükséges volt találni egy
olyan ingyenes képszerkesztő programot, mely minden diáknak rendelkezésére áll,
egyszerűen telepíthető és az oktatás szempontjából nélkülözhetetlen funkciókat
tartalmazza.
4
A GIMP
A Gimp egy pixelgrafikus rajzoló- és képfeldolgozó program, melynek fejlesztése
1995 óta zajlik. A GTK+ régóta folyó nyílt fejlesztéseknek köszönhetően sok más linuxos,
grafikus felületet használó alkalmazás is megvalósulhatott. A GTK+ kialakítása a Gimp
fejlesztése során vált szükségessé. Gyakran olvashatunk olyan leírásokat, amelyekben a
Gimpet az Adobe Photoshoppal hasonlítják össze. Ezek a leírások még nemrégiben is azt
hangsúlyozták, hogy a Gimp nem alkalmas nyomdai előkészítésre, mert nem ad
lehetőséget a CYMK színrendszer szerinti színre bontás elvégzésére. A folyamatos
fejlesztéseknek köszönhetően ez mára már lehetséges. A Gimpet alapvetően Linux alatt
kezdték el fejleszteni, majd később vált alkalmassá más operációs rendszereken való
működésre. Az előbbiek alapján azt mondhatjuk, hogy a Gimp annyival többet nyújt a
vetélytársánál, hogy többféle rendszer alatt működőképes és természetesen az
alapelgondolást megőrizve, jelenleg is ingyen használható
A gimp legfontosabb tulajdonságai
A GIMP belső szolgáltatásainak elérése a Script-Fu nyelven keresztül.
Többlépcsős visszavonás/visszaállítás (ennek is csupán a szabad háttértár szab
korlátot).
Korlátlan számú, egyszerre megnyitható kép.
Animációk készítése.
Többek között az alábbi képformátumok támogatása: gif, jpg, png, xpm, tiff, tga,
mpeg, ps, pdf, pcx, bmp, psd. Ezek a képek betölthetők, menthetők, átalakíthatók a
GIMP-pel. • kijelölési eszközök közül négyzet, ellipszis, szabadkézi, Bezier-görbe,
egybefüggő területek kijelölés használata.
Több mint száz beépített bővítmény, valamint a beépített Script-Fu segítségével
korlátlanul fejleszthető.
Egyéni ecsetek és kitöltőminták készítése.
Nyomásérzékeny tábla támogatása.
Hatékony betűkezelés.
5
Átalakítási eszközök: elforgatás, kicsinyítés, nagyítás, torzítás.
Lapolvasó támogatása, képernyőkép mentése.
Teljes rajzeszközkészlet: ecset, festékszóró, ceruza, toll, másolás, elmosás.
A hatékony memóriagazdálkodás eredményeként a szerkeszthető kép méretét
csupán a szabad háttértár korlátozza!
Kezeli a rétegeket (layer) és csatornákat (channels).
Rendkívül hatékony színátmenet és színkeverés.
A GIMP használatához GTK+ szükséges, mely beépítve található az interneten lévő
telepítőfájlokban. A program futtatásához legalább 40 MB szabad memória kell,
természetesen minden megnyitott kép kezeléséhez nélkülözhetetlen további memória. Egy
640x480 pontból álló kép mérete a használt rétegektől függően megközelítőleg 3 MB. Így
a legkisebb javasolt memória 32 MB, az ajánlott pedig a munka jellegétől függően 64–
1000 MB. Ha gépünk viszonylag kevés memóriával rendelkezik, állítsuk nagyobbra a
gyorstár méretét.
A Gimp működés közben
A GIMP indulása után rögtön megtaláljuk a főablakot és a párbeszédablakokat. A
program használatának a legfontosabb irányítópultja a GIMP-GNU fő ablaka (1.ábra). Itt
találhatók a Fájlműveletek: az új kép létrehozása, a megnyitás, a bezárás, a külső eszközről
beolvasás (lapolvasó és képernyő), a beállítás és a párbeszédablakok megnyitása. A Fájl
menü tartalmazza a beépített képelőállító eszközöket (feliratkészítés, háttérkészítők,
gombok, betűkészlet elkészítését, kitöltőmintákat, weboldalra feliratokat, gömböt stb.),
valamint a böngészőkezelést. Ezenkívül a Súgó is itt található.
1.ábra
6
2. ábra
Megnyitás esetén kiválasztjuk a könyvtárat és a fájl nevét, valamint a formátumát, a
GIMP pedig megpróbálja automatikusan felismerni, de mi is kiválaszthatjuk. A
kiválasztott fájl esetén megjelenik a kis nézőkép. Új kép létrehozása esetén a kép méretét
megadhatjuk képpontban, hüvelykben, milliméterben, centiméterben, nyomdai pontban és
akár általunk létrehozott mértékegységben is. Kiválaszthatjuk a kép típusát (színes vagy
szürkeárnyalatos) és a háttér színét. Miután létrehoztunk egy képet, a legtöbb eszköz az
eszközpalettán aktívvá válik (2. ábra).
Első látásra szokatlan lehet a teljesen különálló eszköz ablaka és a már előbb említett
főablak menürendszere, mivel ez utóbbi is 3 módon érhető el. Első lehetőségünk, hogy a
megnyitott kép bal felső sarkában található kis háromszögre kattintunk, majd kiválasztjuk a
kívánt menüt. A második, hogy a képen az egér jobb gombjával kattintunk, a harmadik
lehetőség pedig, hogy a sokat használni kívánt menü felső sorára kattintva „kihelyezzük”
az asztalra külön ablakként (3. ábra). Így mindenki megtalálhatja a számára
legkényelmesebb megoldást.
3. ábra
7
Lehetőségünk nyílik a navigátorablak használatára is. Ezt a Nézet menüben találjuk. A
képek használata során szükség lehet arra, hogy egyszerre lássuk a teljes képet és a
nagyítást. Erre találták ki a Nézet/Új nézet menüpontját. Így egyszerre több ablakban
láthatjuk a képünket. A Nézet menüben található az Info ablak, melyben nemcsak a képre
vonatkozó adatokat találhatjuk meg, hanem az adott területre vonatkozó színeket.
Már első induláskor is feltűnhet, hogy a program rengeteg beállítási lehetőséggel bír. A
program eszközkészlete általában a képernyő bal felső részén jelenik meg, és amíg nincs
megnyitva semmilyen fájl, itt találhatjuk az általános működésre vonatkozó beállításokat
és eszközöket. A Szerkesztés/Beállítások menüpontot kiválasztva a Gimp program
alapvető paramétereit állíthatjuk. Beállíthatjuk, hogy ha új képet hozunk létre, milyen
tulajdonságokkal rendelkezzen. Megadhatjuk a méretét és a színmélységét, majd
beállíthatjuk, hogy legfeljebb mekkora legyen a kép által felhasznált memória. Ahogy a bal
oldali fanézetben lejjebb haladunk, a következő érdekesség a Súgó (Help System). Ebben a
helyzetérzékeny súgó használatát állíthatjuk be az F1 billentyűre, és megadhatjuk, hogy az
alapértelmezett belső böngészőt szeretnénk használni, vagy más böngésző jelenítse meg a
súgóoldalakat. Ugyanitt állíthatjuk be a visszavonási lehetőségek számát, és hogy a
program milyen esetekben végezzen tényleges mentést. Feltételezhetjük, hogyha a kép
nem módosult, akkor nem próbáljuk meg menteni, ennek figyelésével pedig a programot is
megbízhatjuk, vagyis beállítható, hogy minden esetben történjen-e lemezművelet, vagy
csupán akkor, ha a képen valóban történt változás.
Régebbi verzióknál elérhető volt a Munkafolyamat állítása, itt tudtuk rávenni a Gimpet,
hogy az ablakok helyzetét mentse, és mindig próbálja meg visszaállítani a tárolt állapotot.
Meghatározhattuk még a különféle felhasználó által telepített vagy létrehozott
kiegészítőket, ecseteket, mintákat, színkészletek és átmenetek tárolására szolgáló
könyvtárak helyét, amelyeket a program az első indításkor a felhasználó saját
könyvtárában létrehozott és a gimp_verzioszam elérési úton tárolt. Mindezen beállítások
mára már teljesen automatikusan történnek, tehát nyugodtan bezárhatjuk személyre szabott
Gimp felületünket, az a következő indulásnál változatlan marad.
8
A kép mozgatása és az Eszköztár
A szerkesztett képet az egérgörgővel függőlegesen tudjuk görgetni, a CTRL billentyű
lenyomása mellett pedig az egér görgője vízszintesen mozgatja a képet. A görgőt a SHIFT
billentyűvel együtt használva a nagyítás arányát tudjuk meghatározni. A képen való
mozgás másik eszköze a szerkesztett képet mutató ablak jobb alsó sarkában található kis
négyirányú nyíl. Erre kattintva a kép kicsinyített másán tudjuk meghatározni az ablakban
megjeleníteni kívánt tartalmat. A Gimp egyik legfontosabb erőssége a kiválasztási
lehetőségek széles skálája. Egy pixelgrafikus rajzolóprogram nagy előnyének számít, ha
precízen tudjuk kiválasztani a szerkesztendő területet. A Gimp eszközkészletében is 7 ikon
szerepel, amelyek csak a kiválasztás mikéntjének meghatározására használatosak (4.ábra).
A bekeretezett gombokat szemlélve, balról jobbra haladva, a következőkkel
találkozhatunk:
Téglalap alakú terület kiválasztása: az egérgomb lenyomása után a CTRL
billentyűvel együtt használva a kijelölés az egérmutatóhoz képest középpontos lesz,
míg a SHIFT billentyűvel négyzet alakú területet tudunk kijelölni.
Ellipszisterület kijelölése: a fenti kombinációk szintén érvényesek.
Kijelölés szabadkézi rajzolással.
Varázspálca: hasonló színű képpontok kijelölésére használható. Ha a gombra
kattintunk, az alul megjelenő beállításoknál (a Küszöbszint értéknél) a hasonlóság
küszöbszintjét adhatjuk meg.
4. ábra
9
Szín szerinti kijelölés: itt szintén állíthatunk küszöbszintet, majd ha a képre
kattintunk, a program az egész képen megkeresi a hasonló színű pontokat, és ezek
fogják alkotni a kijelölt területet
Kijelölés ollóval: ez a megoldás a varázspálca és a szabadkézi kiválasztás
kombinációjának tekinthető, ugyanis a kívánt területet nem szükséges pontosan
körberajzolni, csupán vonalakat adunk meg, a Gimp ennek alapján próbálja meg az
irányvonalakat a kép tartalmának megfelelően pontosítani.
Mindemellett a program lehetőséget nyújt arra is, hogy a már kijelölt területekhez
hozzáadjunk vagy elvegyünk belőlük részeket. Ha valamelyik eszközt használjuk, és a
CTRL billentyűt lenyomjuk, a Gimp a kijelölt területeket ponthalmaznak tekintve összegzi.
Amennyiben a SHIFT billentyűt ütjük le, a program a területek különbségét képezi. A
teljes képtartalom kiválasztására a CTRL-A billentyűk használhatók, és bármilyen
kijelölésre vonatkozó adat a SHIFT-CTRL-A billentyűkkel törölhető. A meglévő kijelölt
területek ellenkezőjét a CTRL-I billentyűkombinációval választhatjuk ki. A képen a jobb
egérgomb segítségével hívható elő a menü, melynek Kijelölés menüpontja további
lehetőségeket kínál számunkra. A legfontosabb közülük a Csökkentés. Ezzel a
lehetőséggel, adott képpontnyi mértékben csökkenthetjük a területet, továbbá a Növelés
ami értelemszerűen a terület növelésére használatos. Az eszköztár közepén látható az
éppen érvényes előtér és háttérszín. Ezek valamelyikére duplán kattintva előbukkan egy
színpaletta, amelyről kiválaszthatjuk a használni kívánt színt (5. ábra).
Ha a szokásos Gimp-paletta nem felel meg, akkor vízfestékszerű palettáról, a HSV
5. ábra
10
6. ábra
színtérhez közelebb álló háromszöggel meghatározottról választhatunk, vagy a GTK+ -ban
megszokott megoldást is alkalmazhatjuk. Ezeket a színválasztó ablak fülecskéire kattintva
érhetjük el. A színek meghatározása után a kiválasztottakat felcserélhetjük a mellettük
található kétirányú nyilacska használatával. A színek mellett meghatározhatjuk a kitöltési
mintát is, ami a kitöltési eszköz alkalmazásánál lesz fontos tényező. Az eszköztár alsó
részén található vezérlők közül az ecsetet szintén kettős kattintással kelthetjük életre.
A sokrétű felhasználást segítő funkciók teszik igazán teljes értékű professzionális
programmá a Gimpet. Ilyen például az automatikus levágás. Lapolvasásnál egy kicsit
nagyobbra jelölt aktív terület hibáját hivatott korrigálni. Beolvasás alatt olyan fehér
területek kerülhetnek a képre, amelyeknek nincsen sem információtartalmuk, sem egyéb
jelentőségük. Ilyen esetekben lehet segítségünkre az Automatikus levágás és a Zealous
vágás menüpont, amelyek megpróbálják ezeket a területeket megkeresni, és a képet
méretre vágják. A Zealous Crop jobb végeredményt ad, ám lassabban működik, ami egy
gyorsaságot igénylő munka esetén igen hátrányos. Ezeket a kivágásokat a jobb
egérgombbal a képre kattintva, a menüben érhetjük el, a Kép-> menüpontokon keresztül. A
Kép -> Átalakítás menüben találhatjuk meg az egyik leghasznosabb beállítást, ami a
Guillotine névre hallgat. A GIMP lehetőséget ad arra, hogy függőleges és vízszintes
segédvonalakat helyezzünk el a képen. Ennek használatához nyomjuk meg valamelyik
vonalzó fölött a bal egérgombot, és húzzuk rá a képre a segédvonalat. A felső vonalzóról
lehet vízszintes segédvonalat a képre helyezni, míg a bal oldaliról függőlegeset. Amiért
mindez érdekes számunkra, az az imént említett menüpont. Ha ezt kiválasztjuk, akkor a
GIMP a megadott segédvonalak mentén feldarabolja a képet. Ennek gyakorlati hasznát a
honlap-szerkesztésnél vagy táblázatos megjelenítésnél veszzük (6. ábra).
11
Az Eltolás segítségével a képet eltolhatjuk megadott mértékben. A képet el is
forgathatjuk, mégpedig előre megadatott kilencven fokos lépésekben a Forgatás menüben
található forgatási értékek kiválasztásával, vagy az eszköztár segítségével. Kiválasztás után
a képre kattintunk, megjelenik egy négyzetrács, közepén egy fekete ponttal. A fekete pont
adja meg a forgatás középpontját és az egérgomb lenyomása közben mozgatva az egeret
megadhatjuk az elforgatás szögét. Ugyanezzel az eszközzel lehetőségünk van
átméretezésre, torzításra és perspektíva létrehozására is. Itt állíthatjuk be azt is, hogy az
átalakítás során megjelenjen-e a segítséget nyújtó négyzetháló, és hogy az eredményt
szeretnénk-e simítani. Ez utóbbi művelet főként nagyításkor lehet érdekes. Ilyenkor nem
egyszerűen többször jelenik meg a képpont, de a szomszédos képpontok között átmenetek
is keletkeznek. Az eszköz ablakon is lehetőségünk van az eltolásra, perspektivikus
átalakításra és az átméretezésre. A Kép->Kép átméretezése menüpontokat kiválasztva
lehetséges a tetszés szerinti méretezés. Az eltolás vagy torzítások után célszerű a Rétegek-
>Réteg kép méretűvé menüpontok kiválasztásával a réteg méretét a képmérethez igazítani
(rétegek később részletesen).
Az előbbi menüben találjuk meg a rajzvászon átméretezésére szolgáló menüpontot is,
mégpedig a Kép->Rajzvászon mérete pontok kiválasztásával. Ez a szolgáltatás akkor lehet
hasznos, ha valamilyen kép mellé szeretnénk elhelyezni egy másikat, vagy
hozzárajzolnánk más formákat. A Kép menü tárgyalásánál maradva két fontos menüpont
található még. Az egyik a kép színmélységének változtatására szolgál, ezt a Mode
almenüben találhatjuk meg. Itt alakíthatjuk át a képeinket szürkeárnyalatosra, vagy
korlátozott színekből összeálló képpé. Fontossága abban rejlik, hogy a GIMP a legtöbb
szűrést és a bonyolultabb műveleteket csak RGB színekkel rendelkező képeken tudja
elvégezni. Tehát ha nem ilyen a feldolgozandó kép – például a GIF formátumú képek
maximálisan 256 színt használhatnak –, akkor először át kell alakítanunk. Ez az átalakítás
akkor is jól jöhet, amikor olyan megjelenítő-eszközünk van, ami nem képes sok szín
leképezésére. Ha régebbi mobilok, játékkonzolokon szeretnénk megjeleníteni a képeket,
akkor felhasználás előtt át kell azokat alakítani. A másik fontos menüpont tulajdonképpen
kettő darab almenüpont. Az egyik az Összevonás (Compose), míg a másik a Felbontás
(Decompose). Ez utóbbival tudjuk az elkészült képeket színrétegekre bontani, vagyis a
nyomdai előkészítéshez alkalmas formátumra alakítani. Itt választhatunk RGB, HSV,
CMYK, CMY színtereket, vagy ha a képnek van átlátszóság csatornája (Alpha channel)
akkor szintén ezzel a művelettel juthatunk hozzá. A Összevonás (Compose) menüpont
12
alkalmas az előbbi művelet megfordítására. A megadott képeket színcsatornaként
értelmezve összeállítja az eredeti képet. A képhez az Alpha menü segítségével adhatunk
átlátszóságot szabályozó színcsatornát.
Rétegek
A Gimp tanítása során is kiemelkedően fontos a rétegek megismerése, megértése és
rutinszerű használatának elsajátítása. Rétegek kezelése nélkül egy modern pixelgrafikai
program szinte elképzelhetetlen. A GIMP lehetőséget biztosít a felhasználónak arra, hogy a
teljes grafikát egymás felett elhelyezkedő fóliákból állítsa össze. Ezeket a fóliákat a
szaknyelv rétegeknek (Layer) nevezi. A rétegek használatának szintén sok felhasználási
lehetősége adódhat, gondoljunk csak arra, hogy egy képből kivágott részletet szeretnénk
egy másikon elhelyezni. Ilyenkor a kivágott képrészletet külön rétegen helyezzük el, majd
a helyzetének pontos beállítása után hozzákapcsolhatjuk az alatta lévő réteghez. A GIMP-
ben a rétegek kezelésére szolgáló párbeszédablakot a CTRL-L billentyűkkel érhetjük el.
Az első indításkor célszerű a Kijelölő ablakkal együtt dokkolni az erre a célra kialakított
dokkolható párbeszédablakokat tartalmazó ablakban (7. ábra)
7. ábra
13
A párbeszédablak legnagyobb részét a rétegek megjelenítése foglalja el. Minden egyes
tételnek külön nevet adhatunk, ha kettőt kattintunk rá. Az első (legalsó) réteg a háttér,
ennek az a különleges tulajdonsága, hogy nem adhatunk hozzá a megjelenést szabályozó
maszkot és nem helyezhetjük más rétegek fölé. Háttér rétege minden képnek van, azonban
a háttérnek is megadható átlátszóság, aminek akkor láthatjuk hasznát, ha a honlapunkon
átlátszó PNG vagy GIF képeket használunk. A rétegeket úgy tehetjük aktívvá, hogy a
nevükre kattintunk az egérrel. Így a szűrők és a rajzoló műveletek is a kiválasztott rétegen
érvényesülnek. Minden réteg neve mellett megjelenik egy előnézeti kép és egy szem, már
ha a réteg látható.
A 7. ábra jobb alsó sarkánál lévő fehér lapot ábrázoló ikon segítségével adhatunk új
rétegeket a képhez, ezek átlátszóságát pedig az ’Átlátszatl’csúszkával állíthatjuk. Az alul
elhelyezkedő nyilak alkalmasak a kijelölt réteg sorrendjének megváltoztatására. Ezek
mellett találhatjuk a következőket: réteg kétszerezése, réteg csatolása az alatta lévőhöz és a
réteg törlésére szolgáló szemetes. A rétegek csatolására szolgáló gomb olyan esetekben
alkalmazható, amikor valamilyen más elemet illesztettünk a képre vagy arról
kiválasztottunk egy részletet.
Fontos megemlíteni, hogy a GIMP a rétegeket csak a saját formátumában mentve
képes megőrizni. Ez a formátum az XCF, és amikor a képet mentjük, elegendő a
kiterjesztésként megadni, nem kell feltétlenül kiválasztanunk a legördülő listából.
14
Rétegek kapcsolatai, rétegműveletek
Minden rétegnek megadható, hogy milyen kapcsolatban legyen az alatta lévőkkel, azaz
milyen műveletet végezzen a program a rétegek képpontjai között (8. ábra). Az adott
műveletet az átlátszóságot meghatározó csúszka felett található legördülő listában
választhatjuk ki. Ezek közül a Kivonás azt jelenti, hogy az adott réteg képpontértékeit a
program kivonja az alatta lévő képpontokból, az Összegzés pedig a képpontok között
végez összeadást. Érdekes még a Érték, amelynek alkalmazásakor csak az adott réteg
világosság-értékeit veszi figyelembe a program a végső kép meghatározásakor.
Ha egy rétegre a jobb egérgombbal kattintunk, akkor egy menüt láthatunk, amiben
fontos műveleteket végezhetünk az adott réteggel. Az első öt menüpontot hatása
megegyeznek a párbeszédablak alsó részén található gombokkal. A következő a Réteg
8. ábra
15
határvonal mérete, amellyel meghatározhatjuk, hogy az adott rétegnek mekkora részét
vegye figyelembe a program a műveletek végzésekor, míg a Réteg kép méretűre arra való,
hogy a kijelölt réteg méretét a képmérethez igazítsa. A következő a Réteg átméretezése,
ami megegyezik a kép átméretezésével, csak ebben az esetben kizárólag a kijelölt rétegre
vonatkozik.
Természetesen a rétegeket egyesíthetjük is, mégpedig a következő menüpontok
segítségével. A Látható rétegek összefésülése az éppen látható rétegeket egyesíti. A réteg
láthatósága az előtte lévő „szem” ikon alapján állapítható meg. Ez az egyesítési művelet
akkor lehet hasznos, amikor úgy gondoljuk, hogy a kép egy részével már elégedettek
vagyunk, például már pontosan a helyén van a beillesztett képdarabka. Ekkor egyesítjük a
hozzá tartozó réteggel és a továbbiakban nem kell foglalkoznunk azzal, ha egy szűrőt
mondjuk csak az összetartozó rétegek egyikére alkalmaztunk. Az Összefésülés lefelé
menüpont hasonlóan működik az előbbihez, de itt csak közvetlenül a kijelölt réteg és az
alatta lévő egyesítése történik. Az 1 réteggé lapítás menüpont kiválasztásával érhetjük el a
kép minden rétegének egyesítését. Ha valami olyan formában mentjük a képet, ami nem
támogatja a rétegeket, akkor a GIMP maga is felkínálja, hogy egyesíti a rétegeket, és
ilyenkor célszerű ezt engedélyezni, hiszen ha ezt nem tesszük meg, akkor csak az éppen
kiválasztott réteget fogja menteni a program. Az ezután következő három menüpont a
rétegek maszkolására használatos. A rétegmaszkot úgy kell elképzelni, hogy az ezen
található világosságértékek határozzák meg, hogy a rétegnek ez a része mennyire látható.
Ha ez az érték 0 (fekete), akkor a hozzá tartozó képpont átlátszó, ha 255-ös (fehér), akkor a
képpont teljesen látható. Természetesen nem csak ez a két érték használható. Tehát a
maszkot először is létre kell hozni. Ezt a Rétegmaszk hozzáadása menüpont választásával
tehetjük meg, majd meg kell adnunk, hogy kezdetben a maszk milyen legyen. Lehet
teljesen átlátszó, teljesen átlátszatlan és használhatjuk a réteg meglévő alfa csatornáját is.
A maszkról is készül előnézeti kép, amit a létrehozás után láthatunk is a rétegkezelő
párbeszédablakban. Amikor a maszkkal elkészültünk, a réteghez véglegesen
hozzárendelhetjük a Rétegmaszk érvényesítése menüpont kiválasztásával. Azt azonban
tudnunk kell, hogy a maszkot hogyan szerkeszthetjük. A réteg kiválasztása után
kattintsunk a hozzá tartozó maszk előnézeti képére. Ezt követően a képszerkesztő
műveletek mindaddig a maszkra vonatkoznak, amíg a képet nem választjuk ki újra Az
utolsó menüpont, amivel a maszkot kezelhetjük, egy igen hasznos művelet. Ez a Maszk
kijelöléssé alakítása, amivel kiválaszthatjuk a maszknak megfelelő formát.
16
9. ábra
Script-Fu program írása
Egy profi képszerkesztő a gimpet használva napról napra találkozik ugyanazokkal a
végrehajtandó feladatokkal. Például internetes hirdetések (banner) készítésénél célszerű
lenne bizonyos feladatokat előre megírni. Banner létrehozásánál ha tudjuk az előre
megszabott nagyságot pixelben a díszítőelemeket, logókat esetleg a színeket, egy parancs
kiadásával szempillantás alatt elkészíthetőek lennének.
A Gimp legerősebb oldala, hogy egyszerűbb scripteket (eljárásokat) könnyedén
elkészíthetünk vele és a Script-Fu-eljárásböngésző segítségével a bonyolultabb
paraméterek beállítása is lehetséges. Használatával tetszőleges számú bővítményeket
adhatunk saját képszerkesztő programunkhoz. A Script-Fu a Gimp Lisp-alapú, beépített
programozói felületét jelenti.
A Script-Fu konzolt a Szűrők -> Script-Fu -> konzol menüben hívhatjuk elő, majd a
megnyitott konzol ablakban a tallózás gomra kattintva nyílik meg a Script-Fu-
eljárásböngésző (9. ábra).
Mint minden programozói nyelvben itt is vannak szabályok. Az első, hogy bármilyen
utasítást illetve parancsot is adunk ki, azokat mindig zárójelek közé kell tennünk. A
meghívott függvény mindig az első helyen szerepel, majd ezt a paraméterek megadása
követi. Matematikai műveletek is első helyen kell szerepeljenek prefix jelőlésre figyelve,
mivel ezek funkciók.
17
A 10. ábrán a visszatérési érték a két szám összege vagyis 5877. Amennyiben több
számmal dolgozunk és a műveletek is eltérnek a beírás némiképp módosul a szabályoknak
megfelelően. A számolandó feladat: 3 + (10 / 2) = ?.
A 11. ábrán látható a script-fu számára értelmezhetetlen feladat. A fenti képlet helyes
beírása: (+ 3 (/ 10 2))
Váltózók deklarálása a let* paraméterrel lehet, majd azokkal végrehajtunk egy
műveletet is. Amennyiben a (let* ( (a 1) (b 2) ) (+ ab) ) parancsból kihagyjuk az (+ a b)
műveletet, és azt külön próbáljuk végrehajtatni akkor hibaüzenetet kapunk, mivel ezek a
változók csak a let* keretében érvényesek. Tehát a (let* ( (a 1) (b 2) ) (+ ab) ) visszatérési
értéke 3. A let parancs helyes szintaxisa (let* ( variables ). Egy script írásakor a sok zárójel
alkalmazása zavaró lehet, így az átlátható kód megírásához nyugodtan használhatunk
tetszőleges számú szóköz karaktert, mivel ezeket a fordító figyelmen kívül hagyja.
10. ábra
11. ábra
18
A változók értékei műveletek közben megváltozhatnak. Amennyiben egy script alatt
változik a deklarált változónk azt a set! paranccsal tudjuk végrehajtatni (12. ábra)
Az ’elsoszam’ változó értékét 10-re állítottuk, majd a set! parancsal új értéket adtunk meg
neki melyen a visszatérési értéka az ’elsoszam’ kétszerese vagyis 20.
A következő fontos utasítás a define melyel egy általunk készített eljárást hívhatunk meg.
Plédául: (define ( (name param-list ) ) expressions) ) Elsőnek a nevét adjuk az eljárásnak,
majd a paramétereket és a végén egy sor kifejezés, melyek végrehajtódnak ha hívjuk az
eljárást.
A car utasítás a listában szereplő első értéket adja vissza, például:
(car '("en" 4 "vagyok")) visszatérési értéke: „en”.
A cdr utasítás a listában szereplő első érték utáni értékeket adja vissza, például:
(cdr '("en" 4 "vagyok")) visszatérés értéke: 4 „ vagyok” (13.ábra)
Ahhoz, hogy egy eljárást a Gimp használni tudjon, regisztrálni kell a program számára,
majd egy jegyzettömben megírt scriptet .scm kiterjesztésre kell átnevezni. A regiszt-
ráláshoz szükséges paraméterek a script végén helyezkedik el, ahol a scriptünk ablakának
beállításait is elvégezhetjük.
12. ábra
13. ábra
19
Az általam létrehozott magikus-gomb scriptem regisztrációs része így néz ki:
1. (script-fu-register "script-fu-magikus-gomb"
2. "<Toolbox>/Xtns/gomb script/magikus gomb"
3. "Zaroszigorlatra keszitve"
4. "Hosszu Istvan"
5. "IMKR35,Varpalota"
6. "2010 Majus"
7. ""
8. SF-ADJUSTMENT _"a gomb sugara" '(150 1 2000 1 10 0 1)
9. SF-COLOR "a gomb szine" '(31 188 15)
Az 1. sorban megtörténik a regisztráció "script-fu-magikus-gomb" néven, majd a 2. sorban
megadjuk, hogy ez hol érhető el a programban. (a szűrök menünél). A 3. 4. 5. 6. sorban
egyénileg megadható a készítő illetve bármilyen információ. A 8. sorban az általunk
regisztrált script ablakában beállítható értékeket adhatjuk meg. Elsőnek egy felirat
szerepel, mely a beállított értéknek („a gomb sugara”) a felirata, majd a zárójelben lévő
első szám a kezdő alapértelmezett sugár-értéket jelenti. Ezt követi a minimum és a
maximum érték megadása, a kis lépték és a nagy lépték beállítása, majd az, hogy egész (0)
vagy valós (1) értéket lehessen megadni és végezetül azt határozzuk meg, hogy csúszkával
(0) vagy beviteli mezővel (1) lehessen bevinni a kívánt értéket.
A 9. sorban ugyancsak a script ablakában a beállítható színt adhatjuk meg. A „gomb szine”
felirattal jelezzük a script futtatójának, hogy mit lehet itt beállítani, majd a zárójelben egy
előre megadott alapértelmezett szín RGB kódja szerepel.
20
Az alapvető parancsok használatával a paraméterezés is logikus és egyértelműen
használható. Egy utasítás rossz paraméterezésére illetve a helytelen használatára a Script-
Fu konozl praktikus hibaüzenettel válaszol (14. ábra)
Amennyiben nem vagyunk bizonyosak egyes paraméterek felvehető értékeiben, illetve
elfelejtettük az egyes paraméterek jelentését, a Script-Fu-Eljárásböngésző segítségével
könnyen utána nézhetünk a helyes megoldásnak (15. ábra). Az eljárásböngésző kereső
funkcióját használva a kívánt eljárás leírásához jutunk. Vannak 16-18 paraméterrel
dolgozó eljárások, melyeknél különös figyelmet kell fordítanunk a helyes sorrend
betartására (16. ábra).
14. ábra
15. ábra
16. ábra
21
Ha mindent jól csináltunk a gimp-image-new eljárás meghívásával létrehoztunk egy
képet melyre a konzol egy visszatérési értékkel válaszol. Fontos a szám feljegyzése,
ugyanis így tudunk a későbbiekben hivatkozni rá. A 17. ábrán létrehozunk egy új képet
(kép azonosítója ID: 36), mely első nem látható, ugyanis egyenlőre a memóriában lett
lefoglalva számára terület. Ahhoz, hogy láthassuk egy réteget mindenképp létre kell hozni
és hozzá kell adni (gimp-layer-new, gimp-image-add-layer)). Itt már láthatjuk, hogy több
paraméter megadása kötelező. A paraméterek sorrendben a követezőek: a létrehozott kép
ID-je, a létrehozandó réteg szélessége, magassága, a réteg típusa, a réteg neve, az
átlátszatlanság értéke 0 és 100 között, és a mód ahogyan megjelenjen. Miután létrehoztuk a
hozzáadásnál ismét a kép ID-re való hivatkozás után a réteg ID-jére is hivatkozni kell
(176), majd megadhatjuk, hogy milyen pozícióban legyen. A -1 paraméterrel a kép fölé
helyezhetjük.
Most már lehetséges láthatóvá tenni a képet, méghozzá a gimp-display-new eljárás
meghívásával. Legtöbbször egy fekete képet láthatunk, mely valójában minden színű. Ha
ki akarjuk tölteni például az aktuális előtér színnel, azt a (gimp-drawable-fill 176 BG-
IMAGE-FILL) parancs segítségével tehetjük meg. Az összes eddigi feladatot egy script-be
foglalva a következő kódot kapjuk:
(let* ((image (car (gimp-image-new 200 200 RGB))) (layer (car (gimp-layer-new image
200 200 RGB-IMAGE "elsoreteg" 100 NORMAL-MODE)))) (gimp-drawable-fill layer
BG-IMAGE-FILL) (gimp-image-add-layer image layer 0) (gimp-display-new image)
image)).
17. ábra
22
Az általam készített script egy térhatás illúzióját keltő gömböt próbál ábrázolni. Ha
ennek megalkotásához az egeret és a gimp hagyományos szerkesztési felületét használnánk
körülbelül 5 percet venne igénybe.
A script lefutása és a paraméterek megadása 10 másodperc alatt megtörténik. A
beállítandó értékeket a fentebb említett script regisztrációs részében tudjuk megadni
(18.ábra). Az OK gomb lenyomása után az eredmény pár másodperc múlva megjelenik egy
új gimp ablakban 19. ábra)
A script kódja az 1. számú mellékleten látható.
Az kód a gömbünk definiálásával kezdjük a göb sugraának (myradius) és a gömb színének
(bgcolor) a deklarálásával. A 2. pontban felkérjük a script-fu konzolt, hogy hajtsa végre a
zárójelek közötti utasításokat. Az új képnek megadjuk a bekért sugarat és a színbeállítást,
majd létrehozunk négy darab réteget. A 9. sortól kezdődnek az egyes rétegek átállítása a
kívánt 3D-s hatás eléréséhez. Az itt található vágási, eltolási és blur (homályosság)
értékeket a normál szerkesztési módban ellesett értékekre állítjuk, majd véget ér a változók
beállítása. A 17 sortól egymás után hozzáadjuk a beállított rétegeket a képhez, majd
egyesével minden réteget a beállított változók függvényében egyénileg módosítunk. (a 25.
sortól az ’arnyek’ réteget, a 29. sortól a ’szines’ réteget, a 33. sortól a ’fenyes’ réteget, a
36. sortól a ’hhatas’ réteget állítjuk be.). A 43. sorban vágjuk és 3D hatás eléréséhez
szükséges pozícióba mozgatjuk a ’fenyes’ réteget. A 48. sorban mozgatjuk és
homályosítjuk az ’arnyek’ réteget. Ezután megjelenítjük a kész képet, majd megtisztítjuk a
beállított értékektől. Az 55. sortól kezdődik a már fentebb említett script-fu regisztrálás.
18. ábra
19. ábra
23
A kész script elérhetősége és további információk a Súgó menüjén belül az
Eljárásböngésző indításával válnak láthatóvá (20. ábra).
A bemutatott script futásán is látható, hogy egy többször visszatérő feladat elvégzését
mennyire könnyebbé teszi, ha megírjuk Script-Fu által is értelmezhető eljárás formában. A
regisztrációs résznél olyan beállításokat hívhatunk meg, amivel teljesen testre szabhatjuk
az elkészülni készülő képünket. A Gimp számára elérhető több száz szűrési funkció
használata mellett akár saját magunk is írhatunk szűrőket. Saját fényképeinken alkalmazva
egy szempillantás alatt lezajlik a módosítás.
Olyan iskolák esetében ahol nagy hangsúlyt helyeznek a képszerkesztési ismeretek
elsajátítására, kiváló lehetőséget biztosít a Gimp és a Script-Fu ingyenes és emellett
nagyon jó minőségű fejlesztői környezete. Az interneten megtalálható leírások további
segítséget nyújtanak azoknak a felhasználóknak , akik komolyan érdeklődnek a téma iránt.
Több iskolában a programozás oktatása jelentősen megkönnyíti a Script-Fu eljárások
megírását és nem utolsó sorban fejleszti a tanulók programozói sokszínűségét.
20. ábra
24
Irodalomjegyzék
The Gimp documentation, http://docs.gimp.org/, utolsó hozzáférés: 2010.05.10
25
Mellékletek
1. számú melléklet
1. (define (script-fu-magikus-gomb myradius bgcolor)
2. (let* (
3. (buffer (* myradius 0.2))
4. (image (car (gimp-image-new (+ buffer myradius) (+ buffer myradius) RGB)))
5. (arnyek-layer (car (gimp-layer-new image myradius myradius RGBA-IMAGE
"arnyekLayer" 100 NORMAL-MODE)))
6. (szines-layer (car (gimp-layer-new image myradius myradius RGBA-IMAGE
"szinesLayer" 100 NORMAL-MODE)))
7. (hhatas-layer (car (gimp-layer-new image myradius myradius RGBA-IMAGE
"hhatasLayer" 100 NORMAL-MODE)))
8. (fenyes-layer (car (gimp-layer-new image myradius myradius RGBA-IMAGE
"fenyesLayer" 100 NORMAL-MODE)))
9. (shrink-size (* myradius 0.01))
10. (fenyes-width (* myradius 0.7))
11. (fenyes-height (* myradius 0.6))
12. (offset (- myradius fenyes-width))
13. (fenyes-x (/ offset 2));(/ (- myradius fenyes-width 2)))
14. (fenyes-y 0)
15. (quarterheight (/ myradius 4))
16. (blur-radius (* myradius 0.1))
17. (gimp-image-add-layer image arnyek-layer 0)
18. (gimp-edit-clear arnyek-layer)
19. (gimp-image-add-layer image szines-layer 0)
20. (gimp-edit-clear szines-layer)
21. (gimp-image-add-layer image hhatas-layer 0)
22. (gimp-edit-clear hhatas-layer)
23. (gimp-image-add-layer image fenyes-layer 0)
24. (gimp-edit-clear fenyes-layer)
25. (gimp-ellipse-select image 0 0 myradius myradius 0 TRUE FALSE 0)
26. (gimp-context-set-foreground '(0 0 0))
27. (gimp-context-set-background '(0 0 0))
28. (gimp-edit-bucket-fill arnyek-layer 0 0 100 0 FALSE 0 0)
29. (gimp-context-set-background bgcolor)
30. (gimp-context-set-background '(255 255 255))
26
31. (gimp-image-set-active-layer image szines-layer)
32. (gimp-edit-blend szines-layer 0 0 0 100 0 0 FALSE FALSE 0 0 TRUE 0 (- 1(/
myradius 2)) 0 myradius)
33. (gimp-image-set-active-layer image fenyes-layer)
34. (gimp-context-set-foreground '(255 255 255))
35. (gimp-edit-blend fenyes-layer 2 0 0 100 0 0 FALSE FALSE 0 0 TRUE 0 0 0
myradius )
36. (gimp-image-set-active-layer image hhatas-layer)
37. (gimp-context-set-foreground '(255 255 255))
38. (gimp-context-set-background '(255 255 255))
39. (gimp-edit-bucket-fill hhatas-layer 0 0 100 0 FALSE 0 0)
40. (gimp-selection-grow image shrink-size )
41. (gimp-selection-feather image (/ myradius 4))
42. (gimp-edit-cut hhatas-layer)
43. (gimp-image-set-active-layer image fenyes-layer)
44. (gimp-layer-scale fenyes-layer fenyes-width fenyes-height FALSE)
45. (gimp-layer-translate fenyes-layer fenyes-x fenyes-y)
46. (gimp-layer-set-opacity fenyes-layer 75)
47. (gimp-layer-resize-to-image-size fenyes-layer)
48. (gimp-image-set-active-layer image arnyek-layer)
49. (gimp-layer-translate arnyek-layer (/ fenyes-x 4) (/ fenyes-x 4))
50. (gimp-layer-resize-to-image-size arnyek-layer)
51. (plug-in-gauss-rle 1 image arnyek-layer blur-radius 1 1)
52. (gimp-display-new image)
53. (gimp-displays-flush)
54. (gimp-image-clean-all image)
55. (script-fu-register "script-fu-magikus-gomb"
_"<Toolbox>/Xtns/gomb script/magikus gomb"
"zaroszigra keszitve"
"hosszu istvan"
"IMKR35,Varpalota"
"maj 2010"
""
SF-ADJUSTMENT _"a gombr sugara" '(150 1 2000 1 10 0 1)
SF-COLOR "gomb szine" '(31 188 15)
)