Folosirea lui python pentru a scrie pluginuri gimp

GIMP și Python pot fi instalate și utilizate pe mai multe platforme, inclusiv Linux®, Mac OS X® și Microsoft® Windows®. Caracterul cross-platform al ambelor GIMP și Python înseamnă capacitatea de a crea pluginuri complexe pentru GIMP folosind Python și să le executați pe diferite platforme.

Prezentare generală a GIMP

GIMP este un software open source pentru lucrul cu imagini, pe care mulți îl folosesc ca înlocuitor complet al unor oferte comerciale. GIMP gestionează obiecte complexe, cum ar fi straturi și căi. GIMP acceptă o varietate de formate de imagine și conține filtre destul de complexe. GIMP beneficiază de un sprijin puternic și de participarea comunității, de aceea este de obicei ușor să găsiți informații despre cum să utilizați sau să extindeți GIMP.

Prezentare generală a limbajului de scripting Python

există mai multe module pentru Python, care asigură funcționalitatea dorită, eliminând necesitatea de a scrie propriul cod (exemple sunt modulele GIMP-Python) .În lista modulelor Python găsite în mai multe module gata făcute, potrivite pentru o gamă largă de aplicații din tranzacții cu Hypertext Markup Language (HTML ) și compușii de Hypertext Transfer protocol (HTTP), pentru a lucra cu fișiere Extensible Markup Language (XML) (cm. Resurse). Puteți crea module Python proprii care permit reutilizarea fragmentelor de cod în cadrul întreprinderii.

La fel ca GIMP, Python se bucură de un sprijin comunitar considerabil. Aceasta înseamnă capacitatea de a găsi informații și, de asemenea, să descarce și să utilizeze instrumente relativ mature care ajută la programarea în Python.

Înainte de a citi următoarea parte a articolului, instalați Python pe sistemul de operare în conformitate cu instrucțiunile de pe site-ul Python. Asigurați-vă că Python este instalat corect: deschideți un prompt de comandă și tastați python -version. Rezultatul ar trebui să pară ceva asemănător, ca în Lista 1.

Listarea 1. Verificarea instalării Python

Dacă aveți nevoie de pluginul PyDev pentru Eclipse, urmați acești pași:

Figura 1. Crearea unui nou proiect cu pluginul PyDev pentru Eclipse

Folosirea lui python pentru a scrie pluginuri gimp

Folosirea lui python pentru a scrie pluginuri gimp

  • Faceți clic pe link pentru a configura interpretul. Dacă Python este instalat corect și în calea specificată, butonul Auto Config ar trebui să funcționeze.






  • Nu uitați să adăugați în dosarul proiectului cu modulele GIMP Python gimp și gimpfu. Adăugați acest director în proiectul dvs. Eclipse (dar nu îl adăugați la calea principală) folosind elementul de meniu Proiect> Proprietăți. așa cum se arată în figura 2.

    Figura 2. Adăugarea catalogului modulului GIMP-Python în proiect în Eclipse

    Folosirea lui python pentru a scrie pluginuri gimp

    Folosirea lui python pentru a scrie pluginuri gimp

    Faceți clic pe butonul PyDev - PYTHONPATH. Apoi bifați fila Librări externe și faceți clic pe butonul Adăugați directorul sursă pentru a adăuga dosarul în care sunt instalate modulele Python GIMP. Calea va fi ceva de genul: /usr/lib/gimp/2.0/python/.

    În Eclipse, puteți porni consola Python. Când consola este vizibilă, selectați Consola Pydev din lista de console.

    Înregistrarea scripturilor

    Fișierele Python se încadrează în folderul de utilizatori GIMP. Pe sistemele Mac și Linux, acest dosar

    /.gimp-2.6/plug-ins. Fișierele de script Python trebuie să fie executabile și să conțină interpretul Python pe prima linie, ca declarații de script standard (a se vedea Listing 2).

    Listing 2. Un script elementar Python care afișează "Bună ziua, lumea!"

    Scriptul Python pentru GIMP trebuie să fie înregistrat pentru a plasa plugin-ul într-unul din meniurile GIMP. Lista 3 arată codul minim necesar pentru înregistrarea scriptului în GIMP și ieșirea "Hello, World!" pe consolă când o numiți.

    Listarea 3. Înregistrarea plug-in-ului în GIMP

    Metoda register () transmite informații despre plugin-ul dvs. la GIMP.

    Metoda register () are câțiva parametri care îi spun lui GIMP cum să afișeze meniul pluginului și care metodă Python trebuie invocată la pornirea plug-in-ului din meniu. Tabelul 1 prezintă parametrii metodei register ().

    Tabelul 1. Parametrii și exemplele metodei register ()

    Pentru a obține cele mai recente informații despre parametrii metodei de înregistrare, deschideți consola Python-Fu (apăsați Filtre> Python-Fu> Console) și introduceți comenzile afișate în Lista 4.

    Listarea 4. Obținerea de ajutor utilizând consola Python

    După introducerea valorilor în metoda de înregistrare, salvați scriptul. Asigurați-vă că este executabil și se află în dosarul .gimp2-6 / plug-ins.

    După salvarea scriptului, rulați GIMP din linia de comandă cu comanda gimp. Acest lucru vă va permite să vedeți orice informații de ieșire de la pluginul dvs., inclusiv mesajul de ieșire. În plus, în cazul în care există erori în plug-in, le veți vedea.







    După ce executați GIMP, accesați meniul Imagine. unde va apărea un nou element din meniu Redimensionare la max. așa cum se arată în figura 3.

    Figura 3. Element de meniu nou al noului plug-in

    Folosirea lui python pentru a scrie pluginuri gimp

    Acum, dacă plugin-ul dvs. este înregistrat corect în GIMP și puteți selecta elementul de meniu al plug-in-ului, sunteți gata să adăugați codul Python pentru a redimensiona imaginea.

    Scenariul de redimensionare

    Având un plugin Python în GIMP, puteți adăuga un cod real la metoda plugin_main în interiorul codului pluginului.

    Lista 5 arată codul pentru redimensionarea imaginii.

    Listing 5. Adăugarea de cod la metoda plugin_main

    Pentru a redimensiona imaginea, codul Python numește pur și simplu pdb.gimp_scale_image. efectuarea unor calcule elementare pentru a determina valorile necesare pentru dimensiunile imaginii scalate. Deoarece valorile introduse în câmp sunt valorile maxime, scriptul ar trebui să verifice atât lățimea cât și înălțimea imaginii curente pentru a determina dacă este necesar să se limiteze dimensiunea acesteia. Dacă orice dimensiune a imaginii este mai mare decât maximul, plug-in-ul limitează dimensiunea maximă și apoi calculează o altă dimensiune.

    Pentru alte metode care pot fi invocate într-un script Python, consultați Ajutor GIMP> Browser de procedură. Figura 4 prezintă browserul de procedură pentru metoda pdb.gimp_image_scale.

    Folosirea lui python pentru a scrie pluginuri gimp

    Folosirea lui python pentru a scrie pluginuri gimp

    Rulați scriptul de schimbare a pluginului

    Adăugând codul de modificare a mărimii, deschideți imaginea în GIMP. Selectați noul element de meniu Imagine> Redimensionare la max. Scenariul vă va cere dimensiunile, după cum se arată în figura 5.

    Figura 5. Parametrii de intrare ai pluginului

    Folosirea lui python pentru a scrie pluginuri gimp

    Folosirea lui python pentru a scrie pluginuri gimp

    Când faceți clic pe OK, metoda plugin_main este executată. iar scriptul dvs. redimensionează imaginea.

    Script de conversie imagine

    Acum, dacă aveți un plug-in pentru a redimensiona imaginea, puteți schimba scriptul Python astfel încât să salveze imaginea într-un format diferit. Aceasta va salva imaginea originală ca fișier JPEG și o va redimensiona în funcție de anumite limitări.

    Adăugările la scenariu sunt afișate în listare 6.

    Listare 6. Adăugarea unui cod pentru a salva o copie JPEG a imaginii originale

    Numele metodei dorite poate fi obținut din baza de date a procedurilor (variabila PDB) utilizând elementul de meniu Ajutor> Procedură Browser. așa cum se arată în figura 6.

    Figura 6. Găsirea unei metode pentru salvarea fișierelor JPEG în browserul de proceduri

    Folosirea lui python pentru a scrie pluginuri gimp

    Folosirea lui python pentru a scrie pluginuri gimp

    Constantele folosite pentru tipurile de parametri de intrare sunt preluate din biblioteca gimpfu. O listă a constantelor disponibile poate fi obținută tastând comenzile afișate în listare 7 de la consola Python la GIMP sau Eclipse.

    Listarea 7. Obținerea de ajutor pentru constantele gimpfu

    Constantele încep cu PF_ și definesc tipurile pe care le poți folosi pentru controalele formularului de intrare.

    Rulați scriptul plug-in editat

    După adăugarea unui cod nou în scriptul Python pentru salvarea imaginilor în format JPEG, puteți porni plug-in-ul deschizând imaginea în GIMP și utilizând elementul de meniu Imagine> Redimensionare la max. Veți vedea fereastra de introducere a parametrilor actualizată, după cum se arată în Figura 7.

    Figura 7. Fereastra de intrare a parametrilor actualizate

    Folosirea lui python pentru a scrie pluginuri gimp

    Folosirea lui python pentru a scrie pluginuri gimp

    Acum că script-ul este gata și testat pe imagini individuale, puteți rula plug-in-ul pentru toate imaginile din dosar.

    Rulați ambele operații pentru întregul dosar

    GIMP are un mod non-interactiv, care vă permite să apelați comenzi GIMP din linia de comandă. Funcția de linie de comandă poate fi utilizată pentru a lucra cu toate imaginile dintr-un dosar utilizând șabloane standard.

    De exemplu, metoda de salvare a unei imagini în format JPEG poate fi trecută direct în modul lot GIMP utilizând comanda afișată în Lista 8.

    Afișarea 8. Utilizarea modului GIMP neintegral pentru a salva imagini

    Cu toate acestea, dacă luăm în considerare calculele necesare pentru restricțiile de dimensiune, acest lucru devine dificil. Deci plug-in-ul simplifică foarte mult ambele operații și poate fi numit singura comandă GIMP.

    Acum, când plugin-ul rulează și este înregistrat în GIMP, el are o comandă proprie în baza de date a procedurii GIMP. Acesta poate fi găsit în browserul de proceduri (Help> Browser de procedură în GIMP) și introduceți numele atribuit pluginului. De exemplu, dacă în metoda de înregistrare ați numit-o python_fu_resize. după cum se arată în listare 6, va apărea, de asemenea, în browser-ul procedurii GIMP ca fiind python-fu-resize. Apelați această comandă, așa cum este reprezentată în browserul de procedură GIMP, din linia de comandă cu comanda gimp și parametrii -i -b. după cum se arată în Lista 9.

    Afișarea 9. Apelarea plugin-ului într-un mod GIMP în mod ne-interactiv

    GIMP deschide imaginea specificată, execută comenzi cu parametrii specificați și își completează lucrarea fără a modifica imaginea originală. Folosind comanda GIMP, care rulează în modul batch neinteractiv, puteți crea un script pentru modificări pe scară largă într-un întreg dosar de imagini.

    Comanda afișată în listare 10 aplică un nou plug-in pentru toate imaginile Portable Network Graphics (PNG) conținute în dosar.

    Listing 10. Apelarea pluginului în GIMP pentru toate imaginile din dosar

    concluzie

    GIMP este o aplicație care oferă ample posibilități de editare a fișierelor grafice pe diferite platforme. GIMP acceptă pluginuri pe care le puteți utiliza pentru a automatiza cele mai complexe sarcini cu scripturi. Deoarece GIMP acceptă scripturi Python în pluginuri, această limbă poate fi utilizată pentru a extinde GIMP. În modul fără lot interactiv, pluginurile pot fi apelate din linia de comandă printr-o metodă potrivită pentru crearea de scripturi.

    Descărcați resurse

    Subiecte conexe







    Articole similare

    Trimiteți-le prietenilor: