Python használata gimp pluginek írásához
A GIMP és a Python számos platformon telepíthető és használható, többek között Linux®, Mac OS X® és Microsoft® Windows®. A GIMP és a Python többszintű jellege azt jelenti, hogy képesek komplex plug-ineket létrehozni a GIMP-re a Python használatával és különböző platformokon futtatni.
A GIMP áttekintése
A GIMP egy nyílt forráskódú szoftver a képekkel való együttműködéshez, melyeket sokan a csereprogramok teljes helyettesítésére használnak. A GIMP komplex objektumokat, például rétegeket és útvonalakat kezel. A GIMP számos képformátumot támogat, és meglehetősen összetett szűrőket tartalmaz. A GIMP erős támogatást és közösségi részvételt élvez, ezért általában könnyű megtalálni a GIMP használatával vagy bővítésével kapcsolatos információkat.
A Python forgatónyelvének áttekintése
sok modulok Python, amelyek biztosítják a kívánt funkciókat, így nincs szükség írni a saját kódját (például a GIMP-Python modulok) .A listája Python modulokat találtam sok kész modulok, amely alkalmas a legkülönbözőbb alkalmazások ügyletekből Hypertext Markup Language (HTML ) és a Hypertext Transfer Protocol (HTTP) kapcsolatokat az Extensible Markup Language (XML) fájlok használata előtt (lásd: Források). Saját Python modulokat hozhat létre, amelyek lehetővé teszik a kódrészletek újrafelhasználását a vállalaton belül.
A GIMP-hez hasonlóan a Python komoly közösségi támogatást élvez. Ez azt jelenti, hogy képes információt találni, valamint letölteni és használni viszonylag érett eszközöket, amelyek segítenek a Python programozásában.
Mielőtt folytatná a cikk következő részének olvasását, telepítse a Pythonot az operációs rendszerére a Python webhelyén található utasításoknak megfelelően. Győződjön meg róla, hogy a Python helyesen lett telepítve: nyisson meg egy parancssort, és írja be a python --versiont. Az eredménynek olyannak kell lennie, mint az 1. listában.
Listázás 1. A Python telepítésének ellenőrzése
Ha szüksége van az Eclipse PyDev plug-injére, kövesse az alábbi lépéseket:
1. ábra: Új projekt létrehozása az Eclipse PyDev plug-injével
Ne felejtsd el hozzáadni a projekt mappádat a GIMP modulok Python gimp és gimpfu segítségével. Adja hozzá ezt a könyvtárat az Eclipse projekthez (de ne adja hozzá a fő útvonalhoz) a Project> Tulajdonságok menüpont segítségével. amint azt a 2. ábra mutatja.
2. ábra: A GIMP-Python modulkatalógus hozzáadása a projekthez Eclipse-ben
Kattintson a PyDev - PYTHONPATH gombra. Ezután válassza a Külső könyvtárak lapot, és kattintson a forrás mappa hozzáadása gombra a GIMP Python modulok telepítéséhez. Az út ilyen lesz: /usr/lib/gimp/2.0/python/.
Az Eclipse-ben elindíthatja a Python konzolt. Amikor a konzol látható, válassza a Pydev konzolt a konzolok listájából.
Script regisztráció
A Python fájlok a GIMP felhasználói mappájába tartoznak. Mac és Linux rendszereken ez a mappa
/.gimp-2.6/plug-ins. A Python szkriptfájloknak végrehajthatónak kell lenniük, és tartalmazniuk kell a Python-értelmezőt az első sorban, mint standard szkript-deklarációkat (lásd 2. jegyzék).
Listázás 2. Az elemi Python script, amely a "Hello, world!"
A GIMP Python szkriptjét regisztrálni kell ahhoz, hogy a bővítményt a GIMP egyik menüjébe helyezze. A 3-as lista a minimális kódot mutatja a forgatókönyv GIMP-ben történő regisztrálásához és a "Hello, World!" Megjelenítéshez. a konzolon, amikor hívod.
Listázás 3. A plug-in regisztrálása a GIMP-ben
A regiszter () módszer átadja a bővítményre vonatkozó információkat a GIMP-nek.
A regiszter () metódus számos paramétert tartalmaz, amelyek megmagyarázzák a GIMP-nek, hogyan kell megjeleníteni a plugin menüjét, és melyik Python-módszer hívja a plug-in indításakor a menüt. Az 1. táblázat a regiszter () metódus paramétereit mutatja be.
1. táblázat: A regiszter () módszer paraméterei és példái
A regisztrációs módszer paramétereinek legfrissebb információinak megtekintéséhez nyissa meg a Python-Fu konzolt (nyomja meg a Szűrők> Python-Fu> Konzol) gombot, és írja be a 4. listában megjelenő parancsokat.
Lista 4. Segítség a Python konzol használatával
Miután megadta az értékeket a regiszter módban, mentse el a szkriptet. Győződjön meg arról, hogy végrehajtható és a .gimp2-6 / plug-in mappában található.
A szkript mentése után futtassa a GIMP parancsot a parancssorból a gimp paranccsal. Ez lehetővé teszi, hogy megtekinthesse a plugin által szolgáltatott adatokat, beleértve a kimeneti üzenetet. Továbbá, ha vannak hibák a plug-inben, látni fogja őket.
A GIMP futtatása után lépjen a Kép menübe. ahol új menüpont jelenik meg. amint azt a 3. ábra mutatja.
3. ábra: Az új plug-in új menüpontja
Most, hogy a beépülő modul megfelelően be van regisztrálva a GIMP-ben, és kiválaszthatja a plug-in menüpontját, készen áll a Python kód hozzáadására a kép átméretezéséhez.
Átméretezés forgatókönyve
Ha a GIMP-ben egy Python plugint használ, akkor a beépülő modulban plugin_main módszerrel is hozzáadhat valós kódot.
Az 5. lista a kép átméretezésének kódját mutatja.
Listázás 5. Kód hozzáadása a plugin_main módszerhez
A kép átméretezéséhez a Python kód egyszerűen a pdb.gimp_scale_image metódust hívja. néhány elemi számítás elvégzésével meghatározza a skálázott kép méreteire vonatkozó szükséges értékeket. Mivel a mezőbe beírt értékek a maximális értékek, a szkriptnek ellenőriznie kell mind az aktuális kép szélességét, mind magasságát annak meghatározásához, hogy szükséges-e a méretének korlátozása. Ha a képméret nagyobb, mint a maximális, akkor a plug-in korlátozza a maximális méretre, majd kiszámítja a másik dimenziót.
A Python-parancsfájlban meghívható egyéb módszerekről lásd: GIMP Súgó> Eljárásböngésző. A 4. ábra a pdb.gimp_image_scale metódus eljárási böngészőjét mutatja.
Futtassa a változás plugin szkriptjét
A méretváltozási kód hozzáadásával nyissa meg a képet a GIMP-ben. Válassza ki az új menüpontot Image> Resize to max. A parancsfájl megkéri a dimenziókat, ahogy az az 5. ábrán látható.
5. ábra: A plugin bemeneti paraméterei
Amikor az OK gombra kattint, a plugin_main módszer végrehajtódik. és a szkript átméretezi a képet.
Képkonverziós szkript
Most, hogy van egy beépülő modul a kép átméretezéséhez, megváltoztathatja a Python-parancsfájlt, így a képet más formátumban mentheti. Ezzel az eredeti képet JPEG fájlként mentheti és bizonyos korlátozásoknak megfelelően átméretezheti.
A szkript kiegészítéseit a 6. listában mutatjuk be.
Listázás 6. Kód hozzáadása az eredeti kép JPEG-másolatának mentéséhez
A kívánt módszer nevét az eljárási adatbázisból (PDB változó) a Súgó> Eljárásböngésző menüelem segítségével szerezheti be. amint azt a 6. ábra mutatja.
6. ábra: A JPEG fájlok mentésének módszere az eljárás böngészőjében
A bemeneti paramétertípusokhoz használt konstansok a gimpfu könyvtárból származnak. A rendelkezésre álló állandók listáját a 7. listában szereplő parancsok a Python konzolból a GIMP vagy az Eclipse programba beírhatjuk.
Listázás 7. Segítség a gimpfu állandókhoz
A konstansok PF_-vel kezdődnek, és meghatározzák azokat a típusokat, amelyeket a beviteli űrlap vezérlésére használhat.
Futtassa a szerkesztett plug-in szkriptet
Miután a Python scriptbe új kódot adtak hozzá a JPEG képek mentéséhez, elindíthatja a plug-inet a GIMP-ben lévő kép megnyitásával és a Kép> Átméretezés max. A frissített paraméter-beviteli ablak megjelenik a 7. ábrán látható módon.
7. ábra Frissített paraméter bemeneti ablak
Most, hogy a szkript készen áll és kipróbálható az egyes képeken, a mappában lévő összes képhez csatlakoztathatja a plug-inet.
Futtassa mindkét műveletet a teljes mappához
A GIMP nem interaktív batch módot tartalmaz, amely lehetővé teszi a GIMP parancsok hívását a parancssorból. A parancssori függvény felhasználható a mappában lévő összes kép feldolgozására szabvány sablonokkal.
Például a JPEG formátumú kép mentési módja közvetlenül a GIMP batch módba továbbítható a 8. listában látható parancs használatával.
Listázás 8. A nem-interaktív batch GIMP mód használata képek mentéséhez
Mindazonáltal, ha figyelembe vesszük a méretkorlátozásokhoz szükséges számításokat, ez nehézzé válik. Tehát a plug-in nagyban leegyszerűsíti mindkét műveletet, és ez az egyetlen GIMP parancs.
Most, hogy a plugin fut és regisztrálva van a GIMP-ben, saját kezűleg van a GIMP eljárásban. Ez megtalálható az eljárás böngészőjében (Súgó> Böngésző a GIMP-ben), és adja meg a bővítményhez rendelt nevet. Például, ha a regisztrációs módszerben pithon_fu_resize-nek nevezte. amint a 6. listán látható, a GIMP eljárás böngészőjében is megjelenik python-fu-átméretezésként. Hívja ezt a parancsot, ahogy ez a GIMP eljárás böngészőjében szerepel, a parancssorból a gimp paranccsal és a -i-b zászlókkal. amint azt a 9. jegyzék mutatja.
9. A plugin meghívása nem interaktív batch módban GIMP
A GIMP megnyitja a megadott képet, parancsokat hajt végre a megadott paraméterekkel és befejezi munkáját anélkül, hogy az eredeti képet módosítaná. A nem interaktív batch módban futó GIMP parancs használatával létrehozhat egy szkriptet a teljes képmappa nagyméretű módosításaihoz.
A 10. listában bemutatott parancs egy új plug-inet tartalmaz a mappában található összes Portable Network Graphics (PNG) képre.
Listázás 10. A plugin meghívása a GIMP-ben a mappában lévő összes képhez
következtetés
A GIMP egy olyan alkalmazás, amely számos lehetőséget kínál a grafikus fájlok szerkesztésére különböző platformokon. A GIMP támogatja azokat a bővítményeket, amelyekkel a legösszetettebb feladatokat szkriptekkel automatizálhatja. Mivel a GIMP támogatja a Python szkripteket pluginekben, ez a nyelv használható a GIMP kiterjesztésére. Nem interaktív batch módban a plug-inek a parancssorból parancsfájlok létrehozására alkalmas módszerrel hívhatók le.