photomappe.de

Python in Gimp (Python-Fu)

In Gimp steht mit den Erweiterungen Script-Fu und Python-Fu zwei Programmiermöglichkeiten zur Verfügung.

Die interaktive Python-Console lässt sich über Xtns->Python -Fu->Console (Extras->Python-Fu->Konsole) erreichen.

Eine Hilfe zu den zur Verfügung stehenden Funktionen erreicht man über Xtns->Procedure Browser (Extras->Prozeduren-Browser). Diese lässt sich leicht durchsuchen da jeweils nur Funktionen angezeigt werden die die bisher eingegebenen Buchstaben enthält. (z.B. die Buchstaben jp eingeben wenn man Funktionen sucht die jpeg im Namen enthalten)

Namensräume in Python-Fu

Im Python-Interpreter werden die Funktionen im Namensraum pdb angesprochen. Dieser Namensraum steht beim Öffnen der Gimp-Console automatisch bereit. Die Bindestriche in den Namen der Funktionen werden in Python durch den Unterstrich ersetzt.

file-jpeg-load

wird also wie folgt aufgerufen:

pdb.file_jpeg_load

Funktions-Parameter

Bei manchen Funktionen taucht als erster Parameter run-mode auf. Dieser Wert muss bei Python-Scripten normalerweise nicht übergeben werden, d.h. die Parameterliste ist einen Wert kürzer.

Konstanten

Konstanten die in der Onlinedokumentation angegeben werden unterliegen den gleichen Veränderungen wie Funktionsnamen. Zum Beispiel wird in gimp-bucket-fill der paint-mode

NORMAL-MODE

zu

NORMAL_MODE

Farbwerte

Farben werden als Tupel übergeben (um zum Beispiel die Vordergrundfarbe zu setzen):

pdb.gimp_context_set_foreground((255, 255, 255))
pdb.gimp_context_set_foreground((0xa2, 0x8a, 0x65))
    

Was kann man damit anfangen?

Alles was einem einfällt! Was liegt also näher als Standardaufgaben zu Automatisieren wenn schon eine Programmiersprache mit Zugriff auf alle Funktionen des Programms vorhanden ist...

Bilder automatisch skalieren

Tonung von Bildern

Erstellen eines Kalenders