PDA

Vollständige Version anzeigen : Mein Programmierfehler oder Bug?


mirkos-fotos.de
22.01.2010, 19:32
Ich habe da leider ein kleines Problem und hoffe auf etwas Hilfe ...
Folgendes Script soll einen einfachen Rahmen um das Bild zaubern. Es hat aber das Problem, nach Ablauf des Scriptes wird die hinzugefügte Ebene nicht gefüllt. Klicke ich danach aber mit der Maus auf irgendeine Ebene im Bild, wird die durch das Script hinzugefügte Ebene plötzlich gefüllt.
Hat jemand eine Idee, was ich falsch mache oder ist das ein Bug?

Hier das Script:
(define (script-fu-Rahmen inBild inEbene)
(gimp-image-undo-group-start inBild)
(let* ((iBreite (car (gimp-image-width inBild)))
(iHoehe (car (gimp-image-height inBild)))
(iRahmen 70)
(BildEbene (car (gimp-image-get-active-layer inBild)))
(Ebene (car (gimp-layer-new inBild (+ iBreite (* 2 iRahmen)) (+ iHoehe (* 2 iRahmen)) RGB-IMAGE "Rahmen" 100 NORMAL-MODE)))
(Rahmenfarbe '(255 255 255)))
(gimp-image-resize inBild (+ iBreite (* 2 iRahmen)) (+ iHoehe (* 2 iRahmen)) iRahmen iRahmen)
(gimp-layer-add-alpha Ebene)
(gimp-context-set-foreground Rahmenfarbe)
(gimp-drawable-fill Ebene FOREGROUND-FILL)
(gimp-image-add-layer inBild Ebene 3)
(gimp-layer-set-mode Ebene 0)
(gimp-layer-resize-to-image-size BildEbene)
(gimp-image-undo-group-end inBild))
)

(script-fu-register
"script-fu-Rahmen" ;func name
"einfacher Rahmen ums Bild" ;menu label
"einfacher Rahmen ums Bild" ;description
"Mirko Link" ;author
"copyright 2010, Mirko Link" ;copyright notice
"Januar 22, 2010" ;date created
"" ;image type that the script works on
SF-IMAGE "Bild" 0 ;a image variable
SF-DRAWABLE "(unused)Ebene" 0 ;a drawable variable
)
(script-fu-menu-register "script-fu-Rahmen" "<Image>/Xtns/Mirkos Skript-Fu")

Mohi
22.01.2010, 19:54
Hi

Bei deinem Skript fehlt ein einziger Funktionsaufruf: (gimp-displays-flush)
Dadurch werden alle Bildfenster von Gimp aktualisiert.
Siehe auch diesen Eintrag (http://wiki.gimpforum.de/wiki/Skript-Fu:_Bilder_bearbeiten) in unserem Wiki.
Einfach (gimp-displays-flush) am Ende einfügen und der Rahmen sollte auch gefüllt werden.

Mohi