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

Python használata gimp pluginek írásához

Python használata gimp pluginek írásához

  • Kattintson a linkre a tolmács beállításához. Ha a Python helyesen van telepítve és a megadott útvonalon, az Auto Config gombnak működnie kell.
  • 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

    Python használata gimp pluginek írásához

    Python használata gimp pluginek írásához

    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

    Python használata gimp pluginek írásához

    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.

    Python használata gimp pluginek írásához

    Python használata gimp pluginek írásához

    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

    Python használata gimp pluginek írásához

    Python használata gimp pluginek írásához

    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

    Python használata gimp pluginek írásához

    Python használata gimp pluginek írásához

    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

    Python használata gimp pluginek írásához

    Python használata gimp pluginek írásához

    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.

    Források letöltése

    Kapcsolódó témák

    Kapcsolódó cikkek