WERBUNG

Hilfe bei erstem GIMP-Script

bloodknight

Themenersteller
Hallo zusammen,

ich versuche gerade mein erstes Script für GIMP zu schreiben. dabei geht es nur darum, einige PlugIns hintereinander auszuführen. Ohne Bedingungen, Schleifen etc.
Wenn ich unter Script-Fu die Scripte auffrische, kommt folgende Fehlermeldung:
Error: eval: unbound variable: image
Irgendwie werde auch durch google nicht schlauer. Muss ich der variablen image noch irgendwie das aktuelle Bild zuweisen? Ich bin verwirrt :(

Hier das Script:

(define (script-fu-mein-script image))

(gimp-undo-push-group-start image)
(plug-in-greycstoration image)
(script-fu-Eg-SmartSharpen image)
(gimp-image-merge-visible-layers image)
(gimp-undo-push-group-end image)

(gimp-displays-flush)

(script-fu-register "mein-script"
"Standartvorgehensweise"
""
""
""
""
""
SF-IMAGE "IMAGE" 0
)
(script-fu-menu-register "mein-script" "<Image>/Filter")


Vielen Dank für Eure Hilfe!!!!
 
Ich kann dir bei deinem Problem nicht helfen, aber vielleicht findest du hier oder hier die richtigen Ansprechpartner.
 
Hallo.

Error: eval: unbound variable: image

Die ist ungebunden, weil der verwendende Code nicht innerhalb der Funktionsdefinition steht. Die letzte Klammer in der ersten Zeile gehört hinter (gimp-displays-flush).

Beim Registrieren stimmt der Funktionsname übrigens nicht überein (script-fu-mein-script <-> mein-script).

Gruß
nubi
 
Vielen Dank! jetzt bin ich schon einen Schritt weiter. das Script taucht in der Menüzeile auf.
Beim Startversuch kommt jedoch die Fehlermeldung Error: not enough arguments
Mir ist klar, dass ich greycstoration und smartsharpen noch einige Optionen mit auf den Weg geben muss. Merkwürdigerweise kommt die Meldung auch, wenn ich die entsprechenden Zeilen auskommentiere und das Script neu lade. Was kann das denn nun wieder sein :(
 
Ich bin wieder einen Schritt weiter! Das Script hat jetzt EINMAL wie gewünscht funktioniert. :D
Beim nächsten Bild kam dann folgende Meldung:

Die Prozedur »gimp-image-undo-group-start« wurden mit einer ungültigen ID für das Argument »image« aufgerufen. Wahrscheinlich versucht das Plugin mit einem Bild zu arbeiten, welches nicht länger existiert.

:grumble: Muss ich im Script jetzt irgendwie die Image ID hochzählen? Naja, kann ja nicht mehr so schlimm sein, im großen und ganzen funzt es ja bereits! Vielen Dank für die Hilfe!!!

Hier nochmal der (fast funktionstüchtige) Code:

(define (script-fu-mein-script image drawable)

(gimp-image-undo-group-start image)
(plug-in-greycstoration 1 image drawable 60 0.7 0.3 0.6 1.1 0.8 30 4 1 1 1)
(script-fu-Eg-SmartSharpen 1 image drawable 2 1 0 0 5 1 0 0.5 0.01 6 6 0)
(gimp-image-merge-visible-layers image 0)
(gimp-image-undo-group-end image)

(gimp-displays-flush)
)

(script-fu-register "script-fu-mein-script"
"Schärfen und Entrauschen"
"Schärfen und Entrauschen"
"Marc Werner"
"Licensed under GPL"
"January 21st 2009"
"*"
SF-IMAGE "IMAGE" 0
SF-DRAWABLE "Layer" 0
)
(script-fu-menu-register "script-fu-mein-script" "<Image>/FU")
 
WERBUNG
Zurück
Oben Unten