Skript-Fu-Einstieg: Benutzereingaben
Aus GIMPForum
| << Das Skript | ^ Inhaltsverzeichnis ^ | Fehlersuche >> |
Benutzereingabe
GIMP sucht in einem Skript als erstes immer die Funktion (script-fu-register). Diese Funktion ist nicht im Prozeduren-Browser vorhanden, die musst du einfach kennen. Über (script-fu-register) wird nämlich geregelt, welche Funktionen aufgerufen werden, wie der Autor des Skripts heisst, Copyright-Informationen und was ganz wichtig ist: Benutzereingaben.
Die komplette Funktion sieht so aus:
(script-fu-register
"text-effekt" ;Name der Funktion, die aufgerufen werden soll
"Mein 1. Skript" ;Name des Skripts
"Erstellt einen Texteffekt" ;Beschreibung des Skripts
"Mohi" ;Name des Autors
"Copyleft by Mohi" ;Copyright-Infos
"6. April 2008" ;Datum
"" ;Falls das Skript ein bereits bestehendes Bild bearbeitet, kommt hier der Typ (RGB etc.) rein
SF-STRING "Text" "Benutzertext" ;Erklärung unten
SF-ADJUSTMENT "Schriftgroesse" '(150 1 500 1 10 1 0) ;Erklärung unten
SF-COLOR "Farbe" '(0 255 24) ;Erklärung unten
SF-FONT "Schriftart" "Sans" ;Erklärung unten
)
Ein _ markiert das folgende Zeichen als Tastenkürzel, womit in einem Menü per Tastatur direkt zum Skript gesprungen werden kann. Wenn der Name des Skripts beispielsweise "Mein 1. S_kript" lauten würde, würde ein Druck auf die K-Taste (vorausgesetzt, das richtige Dropdown-Menü ist geöffnet) sofort das Skript selektieren.
Die Zeilen, welche mit einem SF beginnen sind nun die Benutzereingaben. SF-STRING liest beispielsweise einen Text ein, "Text" nach dem SF-STRING ist die Beschriftung des Eingabefeldes und "Benutzertext" ist der Text, der beim Aufruf des Skripts standardmässig im Eingabefeld steht.
SF-ADJUSTMENT stellt dem Benutzer ein Kontrollelement bereit, womit er numerische Werte auswählen kann. Hierbei gibt es zwei Verschiedene Typen: Slider und Rollbox.
Die vielen Zahlen in der Liste hinter "Schriftgroesse" haben folgende Eigenschaften:
(Start-Wert Min-Wert Max-Wert Kleiner Schritt Grosser Schritt Ganz- (0) oder Fliesskommazahl(1) Slider(0) oder Rollbox(1) )
SF-COLOR sollte eigentlich selbsterklärend sein. Das erste Element ist wieder der Name des Feldes und das zweite Element, die Liste, ist der RGB-Wert eines knalligen Grüns.
SF-FONT stellt ein Feld zur Auswahl von Schriftarten bereit.
Auch hier ist die Reihenfolge wichtig. Diese muss mit der Reihenfolge der Parameter in der define-Funktion übereinstimmen.
(define (text-effekt sfText sfTextgroesse sfFarbe sfFont))
Hier wurde zuerst der Text, dann die Schriftgrösse, dann die Farbe und zum Schluss die Schriftart aufgeschrieben. Würden z.B. die Plätze von SF-COLOR und SF-STRING vertauscht werden, würde als Text der Farbwert und als Farbe der Text genommen werden, was wohl zu einem Fehler führen würde.
Eine Liste aller SF-Funktionen inklusive einer Beschreibung steht am Ende dieses Kapitels.
Nach der script-fu-register-Funktion kommt noch eine Zeile Code und das Skript ist fertig. (script-fu-menu-register "text-effekt" "<Toolbox>/Xtns/Eigene Skripts") Dadurch wird in GIMP ein neuer Menüeintrag angelegt. Anstatt <Toolbox> könnte auch <Image> stehen, dann würde der Eintrag im Bildfenster erscheinen.
Seit GIMP 2.6 gibt es allerdings keinen Unterschied mehr zwischen <Toolbox> und <Image>, da ein Bildfenster immer offen ist und die Menüleiste der Toolbox entfernt wurde. Der Menüpunkt Xtns wird nun gleichbedeutend mit Filters verwendet.
SF-Liste:
SF-IMAGE INT32 (Bild-ID) Bild-ID einlesen SF-DRAWABLE INT32 (Ebenen-ID) Ebenen-ID einlesen SF-TOGGLE TRUE oder FALSE Fügt ein Kontrollkästchen ein, das angekreuzt werden kann SF-PATTERN STRING (Muster-Name) Muster über seinen Namen auswählen SF-ADJUSTMENT LISTE (start-wert min-wert max-wert kleiner-schritt grosser-schritt INT32(0) oder FLOAT(1) slider(0) oder rollbox(1)) SF-FILENAME STRING (Pfad) Pfad eines Bildes auswählen SF-STRING STRING Eingabefeld für normalen Text SF-FONT STRING (Schriftart) Schriftart auswählen SF-COLOR LISTE (R G B) RGB-Wert einer Farbe wählen; für jedes Element gehen Werte von 0-255 SF-GRADIENT STRING (Verlaufsname) Verlauf auswählen SF-OPTION LISTE (Strings) Auswahlliste mit mehreren Möglichkeiten
| << Das Skript | ^ Inhaltsverzeichnis ^ | Fehlersuche >> |
