PDA

Vollständige Version anzeigen : Gelöst Newbie: gimp will drawable-argument nicht!


mas82
17.10.2009, 19:51
Hallo Leute!

Bin totaler Scheme-Newbie, aber schon längere Zeit begeisterter GIMP-User. Nun brauche ich ein Script, das mir sämtliche geöffneten Bilder mit dem Filter "Schärfen" belegt (ich weiß, da gibt es viele Alternativen, aber mit diesem Tool bekomm ich einfach die für mich besten Ergebnisse...).

Um mir zu helfen habe ich ein "Save-All"-Script von Saul Goode als Vorlage genommen, nur das Umschreiben haut nicht hin..... :(

(define (script-fu-sharpen-all-images)
(let* ((i (car (gimp-image-list)))
(image))
(while (> i 0)
(set! image (vector-ref (cadr (gimp-image-list)) (- i 1)))
(plug-in-sharpen RUN-NONINTERACTIVE
image
drawable
100
)
(gimp-image-clean-all image)
(set! i (- i 1)))))

(script-fu-register "script-fu-sharpen-all-images"
"<Image>/File/Sharpen ALL"
"Sharpen all opened images"
"Saul Goode"
"Saul Goode"
"11/21/2006"
""
)
Es geht um das Argument "drawable" von "plug-in-sharpen". Ich bekomme verschieden Fehlermeldungen, egal, ob ich "cp-layer", "layer0", "layer1" oder nur "0", "1" oder was auch immer ausprobiere. (Der Wert "100%" dient nur mal als Test)

Kann mir bitte jemand helfen? Mir raucht schon der Kopf... ;)
Vielen Dank!!!
Michi

klaus_harrer
18.10.2009, 12:05
Hallo mas83,

Es liegt daran das die Variable "drawable" keinen Wert besitzt


define (script-fu-sharpen-all-images)
(let* ((i (car (gimp-image-list)))
(image))
(while (> i 0)
(set! image (vector-ref (cadr (gimp-image-list)) (- i 1)))
(plug-in-sharpen RUN-NONINTERACTIVE
image
(car (gimp-image-get-active-drawable image))
100
)
(gimp-image-clean-all image)
(set! i (- i 1)))))

(script-fu-register "script-fu-sharpen-all-images"
"<Image>/File/Sharpen ALL"
"Sharpen all opened images"
"Saul Goode"
"Saul Goode"
"11/21/2006"
""
)


Sollte funktionieren.

MfG
Klaus Harrer

mas82
18.10.2009, 23:31
Lieber Klaus!

Tausend Dank! Es funktioniert!

Nicht so wichtig, aber ein kleiner Schönheitsfehler fällt mir noch auf: Das Ergebnis wird mir im Gimp nicht angezeigt. Also: "Sharpen" wird angewendet, ist aber erst nach dem Speichern sichtbar. Gibt es da noch einen "Refresh View"-Befehl oder etwas in der Art?

Danke!!! :lol:

Sorry! habe es gerade zustande gebracht. mit: (gimp-displays-flush image) --- danke nochmals!!!