3.4. Ihr erstes Fu-Skript

Müssen Sie erstmal anhalten und Luft holen? Nein? Na gut, dann lassen Sie uns mit der vierten Lektion fortfahren - Ihrem ersten Skript-Fu-Skript.

Nun wollen wir die Funktion bei GIMP registrieren. Das wird durch Aufrufen der Funktion <code>script-fu-register</code> getan. Wenn GIMP ein Skript einliest, führt es diese Funktion aus, die das Skript bei der der Prozedurendatenbank registriert. Sie können diese Funktion irgendwo innerhalb des Skripts platzieren, ich stelle sie ganz ans Ende, hinter meinen anderen Code.

Hier ist das Programmlisting, um die Funktion zu registrieren (ich erkläre alle Parameter in einer Minute):

        (script-fu-register
          "script-fu-text-box"                        ;func name
          "Text Box"                                  ;menu label
          "Creates a simple text box, sized to fit\
            around the user's choice of text,\
            font, font size, and color."              ;description
          "Michael Terry"                             ;author
          "copyright 1997, Michael Terry"             ;copyright notice
          "October 27, 1997"                          ;date created
          ""                     ;image type that the script works on
          SF-STRING      "Text:"         "Text Box"   ;a string variable
          SF-FONT        "Font:"         "Charter"    ;a font variable
          SF-ADJUSTMENT  "Font size"     '(50 1 1000 1 10 0 1)
                                                      ;a spin-button
          SF-COLOR       "Color:"        '(0 0 0)     ;color variable
        )
        (script-fu-menu-register "script-fu-text-box" "<Toolbox>/Xtns/Script-Fu/Text")
      

Wenn Sie diese Funktionen in einer Textdatei mit Dateiendung .scm in Ihrem Skriptverzeichnis speichern und dann Extras->Skript-Fu->Auffrischen wählen, wird dieses neue Skript als Extras->Skript-Fu->Text->Text Box erscheinen.

Rufen Sie dieses neue Skript auf, macht es natürlich gar nichts, aber Sie können die Eingabeaufforderungen sehen, die Sie mit dem Registrieren erstellt haben (mehr darüber, was wir eigentlich gemacht haben, folgt gleich).

Zum guter Letzt: wenn Sie den Prozeduren-Browser aufrufen (Extras->Prozeduren-Browser), werden Sie feststellen, dass unser Skript jetzt in der Datenbank auftaucht.

Um das Skript bei GIMP zu registrieren, rufen wir die Funktion <code>script-fu-register</code> auf, geben die sieben erforderlichen Parameter an und fügen unsere eigenen Parameter noch hinzu, jeweils mit Beschreibung und Standardwert.

Die erforderlichen Parameter

  • Der Name der von uns definierten Funktion. Das ist die Funktion, die beim Aufruf unseres Skripts ausgeführt wird (der Eintrittspunkt in unser Skript). Das ist deshalb notwendig, weil wir innerhalb derselben Datei weitere Funktionen definieren können und GIMP wissen muss, welche von diesen Funktionen es aufrufen muss. In unserem Beispiel haben wir nur eine Funktion definiert, <code>script-fu-text-box</code>, die wir gerade registriert haben.

  • Die Position in dem Menü, wo das Skript eingefügt wird. Die exakte Position des Skripts wird wie ein Pfad in Unix angegeben, wobei das Wurzelelement entweder „<Toolbox>“ oder „<Image>“ ist.

    Wenn Ihr Skript nicht auf einem existierenden Bild arbeitet (und daher ein neues Bild erzeugt, so wie unser Skript es tut), dann werden Sie es im Werkzeugmenü („toolbox“) einfügen wollen - das ist das Menü in GIMPs Hauptfenster (wo sich alle Werkzeuge befinden: die Auswahlwerkzeuge, das Vergrößerungsglas und so weiter).

    Wenn Ihr Skript auf einem zu editierenden Bild arbeitet, werden Sie es in dem Menü einfügen wollen, das bei einem Rechtsklick auf das geöffnete Bild erscheint. Der Rest des Pfades zeigt auf die Menüliste, Menüs und Untermenüs. Daher haben wir unser Textbox-Skript im Text-Menü des Skript-Fu-Menüs des Extras-Menüs des Werkzeugkastens registriert: Extras->Skript-Fu->Text->Text Box.

    Vielleicht haben Sie es bemerkt, das Untermenü „Text“ im Skript-Fu-Menü war noch gar nicht vorhanden, als wir anfingen - GIMP erstellt automatisch alle noch nicht existierenden Menüs.

  • Eine Beschreibung Ihres Skripts, die dann im Prozeduren-Browser erscheint.

  • Ihr Name (Autor des Skripts).

  • Copyright-Information.

  • Das Datum, an dem das Skript erstellt oder zuletzt überarbeitet wurde.

  • Der Typ des Bildes, auf dem das Skript arbeitet. Das kann einer der folgenden Typen sein: RGB, RGBA, GRAY, GRAYA, INDEXED, INDEXEDA. Oder auch überhaupt kein Typ: in unserem Fall erstellen wir ein Bild und brauchen daher auch keinen Typ zu definieren.

[Note] Anmerkung

Neben den hier aufgeführten Parametertypen gibt es weitere für den interaktiven Modus, die jeweils ein Widget im Dialogfenster erzeugen. Sie finden die Beschreibung dieser Parameter mit Beispielen in dem Testskript plug-ins/script-fu/scripts/test-sphere.scm, das mit den GIMP-Quelldateien ausgeliefert wird.



[16] Dieser Abschnitt ist nicht Teil des ursprünglichen Tutorials.