Fünf interessante Gimp-Perl-Plugins

Gimp ist nicht nur ein sehr mächtiges Programm, es stellt seine Funktionalität auch sehr benutzerfreundlich und intuitiv zur Verfügung und ist deshalb ideal für die interaktive Bildverarbeitung geeignet. Manche Vorgänge kommen allerdings immer wieder vor oder können interaktiv nur schwer durchgeführt werden (zum Beispiel das Zerschneiden eines Bildes in vier gleichgroße Teile). Oder bisweilen möchte man etwas automatisieren, einen Effekt etwa oder die Nachbearbeitung vieler Bilder.

Da nicht für alle möglichen Aufgaben schon ein Plugin existiert, muß man manchmal selbst Hand anlegen und eins schreiben. Das hört sich schwieriger an, als es ist. Im Folgenden habe ich fünf in Perl geschriebenePlugins ausgesucht und kommentiert, die den Einsatz von Gimp-Plugins für ganz unterschiedliche Verwendungszwecke und Schwierigkeitsgrade demonstrieren.

Erstes Skript: centerguide

Dieses Skript gehört in die Kategorie „Selten benötigt, aber manuell sehr schwierig auszuführen“. Es fügt dem Bild lediglich zwei Hilfslinien hinzu: eine horizontale und eine vertikale Linie, die sich in der Bildmitte schneiden. Bei der Bildmitte kann man sich zwischen der physikalischen und der optischen Mitte entscheiden.

centerguide

Zweites Skript: layerfuncs

Das zweite Skript folgt eher der Philosophie „Ich brauche das jetzt, will aber eigentlich keinen Aufwand betreiben“. Es definiert gleich zwei „Plugins“ in einem Skript, die jeweils aus nur einem einzigen Aufruf bestehen.

Das erste Plugin, layer_to_image_size, taucht im Menü nicht auf und wird nur von anderen Plugins aufgerufen, um eine Ebene auf die Größe des Bildes zu vergrößern (oder zu verkleinern). Das zweite Plugin, center_layer, findet man im Menü <Image>/Layers/Center Layer und dient der mittigen Ausrichtung einer Ebene.

Beide Funktionen sind sehr nützlich, waren aber ursprünglich nicht im Gimp selbst vorhanden, so daß dieses Skript entstand.

layerfuncs

Drittes Skript: colorhtml

Und nun zu etwas ganz anderem: Ein Dateiformat-Plugin, mit dem man (möglichst kleine) Bilder als HTML abspeichern kann. Jedoch nicht als Tabelle mit IMG-Elementen, sondern als reinen HTML-Quelltext.

Teil der Gimp-Perl-Distribution sind noch drei weitere Dateiformat-Plugins: dataurl (zum Abspeichern eines Bildes innerhalb einer HTML-Seite mit einer speziellen URL), miff (zum Laden und Speichern des ImageMagick-MIFF-Formats) und avi (zum Laden und Speichern von unkomprimierten AVI-Dateien).

colorhtml

Die HTML-Ausgabe

Viertes Skript: xachvision

xachvision ist ein typischer Vertreter der „Effekt“-Plugins. Es verändert ein bestehendes Bild so, daß es aussieht, als wäre es mit einer Überwachungskamera aufgenommen worden. Genaugenommen wird das Bild gar nicht verändert, sondern es werden lediglich zwei weitere Ebenen geschickt über das Bild gelegt.

xachvision

Fünftes Skript: map_to_gradient

Direkte Pixelbearbeitung ist für Perl eher untypisch, da die hohe Zahl an einzelnen Operationen – ein kleines 320x200-Bild hat schon 64000 Pixel, die alle irgendwie verarbeitet werden müssen – ein Perl-Programm normalerweise sehr langsam macht.

Mit der Perl Data Language jedoch wird die Verarbeitung auch großer Vektoren und Matrizen schnell und einfach – und Bilder sind schließlich nichts anderes als große Felder mit vielen Zahlen.

map_to_gradient

Letztes Skript: add_label

Das sechste und letzte Skript ist sehr einfach. Sechstes Skript? Waren nicht fünf Plugins angekündigt? Ja schon, aber das folgende Skript ist kein Plugin, sondern ein Skript, das von der Kommandozeile aus aufgerufen wird.

Das Skript ist relativ kurz (wenn man die Kommentare entfernt) und ist eine gute Grundlage für ähnliche Skripten.

add_label