PDA

Vollständige Version anzeigen : [Script-Fu] Jyivindar Flowers (a.k.a Whirls)


Snoopy88
21.06.2005, 21:52
Sodele, mein erster Post, und mein erstes Script.

Ich hab mir erlaubt, die Anleitung Jyivindar Flowers (a.k.a Whirls) (http://gimpforum.de/viewtopic.php?t=1397) in ein script zu basteln.
Falls ich irgendwas ganz falsch gemacht, oder gegen alle Standards verstoßen haben sollte, bitte sagen, bin noch blutiger Anfänger.

(define (script-fu-jyivindar-flowers InImage InLayer InDrehwinkel InHintergrundsymmetrie InFarbton1 InFarbton2)

(gimp-image-undo-group-start InImage)

(if (eqv? (car (gimp-drawable-is-gray InLayer)) TRUE)
(gimp-image-convert-rgb InImage)
)

(let* (
(foregroundcolor (car (gimp-palette-get-foreground)))
(imagewidth (car (gimp-image-width InImage)))
(imageheight (car (gimp-image-height InImage)))
(farblayer1 (car (gimp-layer-new InImage imagewidth imageheight 0 "farblayer1" 100 OVERLAY) ) )
(farblayer2 (car (gimp-layer-new InImage imagewidth imageheight 0 "farblayer2" 100 OVERLAY) ) )
)

(plug-in-mblur 1 InImage InLayer 2 256 0)
(set! Vordergrundlayer1 (car (gimp-layer-copy InLayer 0)))
(gimp-image-add-layer InImage farblayer1 0)
(gimp-palette-set-foreground InFarbton2)
(gimp-selection-all InImage)
(gimp-drawable-fill farblayer1 0)
(gimp-selection-none InImage)
(set! Hintergrundlayer1 (car (gimp-image-merge-down InImage farblayer1 0)))

(if (= InHintergrundsymmetrie TRUE)
(begin
(set! Hintergrundlayer2 (car (gimp-layer-copy Hintergrundlayer1 0)))
(gimp-image-add-layer InImage Hintergrundlayer2 0)
(gimp-layer-set-mode Hintergrundlayer2 SCREEN)
(gimp-flip Hintergrundlayer2 0)
)
)

(gimp-image-add-layer InImage Vordergrundlayer1 0)
(plug-in-whirl-pinch 1 InImage Vordergrundlayer1 InDrehwinkel 1.0 1.0)
(plug-in-edge 1 InImage Vordergrundlayer1 10.0 1 0)
(set! Vordergrundlayer2 (car (gimp-layer-copy Vordergrundlayer1 0)))
(gimp-image-add-layer InImage farblayer2 0)
(gimp-palette-set-foreground InFarbton1)
(gimp-selection-all InImage)
(gimp-drawable-fill farblayer2 0)
(gimp-selection-none InImage)
(set! Vordergrund1(car (gimp-image-merge-down InImage farblayer2 0)))
(gimp-layer-set-mode Vordergrund1 SCREEN)
(set! Vordergrundlayer2 (car (gimp-layer-copy Vordergrund1 0)))
(gimp-image-add-layer InImage Vordergrundlayer2 0)
(gimp-flip Vordergrundlayer2 0)
(gimp-palette-set-foreground foregroundcolor)

(gimp-image-undo-group-end InImage InLayer 0)

(gimp-displays-flush)
)
)


(script-fu-register
"script-fu-jyivindar-flowers"
"<Image>/Script-Fu/Gimp-Forum/Jyivindar Flowers (a.k.a Whirls)"
"Creates Jyivindar Flowers like the ones in Jyivindar's tutorial on gimpforum.de"
"Christian Sachers"
"Christian Sachers(c)"
"06-17-2005"
""

SF-IMAGE "The Image" 0
SF-DRAWABLE "The Layer" 0
SF-ADJUSTMENT "Drehwinkel" '(200 -360 360 1 10 0 1)
SF-TOGGLE "Symetrischer Hintergrund" TRUE
SF-COLOR "Farbton Vordergrund:" '(0 0 0)
SF-COLOR "Farbton Hintergrund:" '(0 0 0)
)

Arathis
21.06.2005, 22:00
naja, schöne idee, aber irgendwas scheinst du schon falsch gemacht zu haben, denn bei mir (gimp 2.2.7) kommt folgender fehler:
http://www.sinlos.net/dirk/err1.jpg
da ich mich mit script-fu selber nicht so gut auskenne kann ich dir grad nicht sagen wo in deinem script der fehler liegt, aber anscheinend fragt das script mehr ab als eingaben möglich sind

Snoopy88
21.06.2005, 22:25
Also bei mir (2.0) läufts einwandfrei.


Edit:
Was ich vergesen habe zu erwähnen- man muss das script auf ein Bild anwenden.
Am besten schwarzer Hintergrund mit grauen/weisen Pinselstrichen drauf, so wie der erste Schritt des Tutorials.
Modus darf RGB oder Graustufen sein.
Könnte da der Fehler liegen?

Arathis
22.06.2005, 07:47
eigentlich nicht, wenn das script das nicht exakt so haben muss. ich hatte ein neues bild in 1024x768 mit weißem hintergrund und habs darauf angewendet.

Snoopy88
22.06.2005, 17:26
Weißer Hintergrund sollte auch gehen, sieht nur nicht gut aus.

Arathis
22.06.2005, 18:07
naja, klappt aber eben nicht. wär nett, wenn sich noch einer der sich mit script-fu besser auskennt als ich hier beteiligen würde....


eine fehlerquelle ist mir doch noch aufgefallen:
du benutzt ja eine ältere gimp-version als ich. es wäre doch möglich, dass sich bei einem befehl den du verwendest die argument-menge in der abfrage geändert hat. ich kenn mich da aber nicht so aus, was die veränderungen in den letzten versionen angeht und hab grad ehrlich gesagt keine lust alle befehle zu prüfen. also entweder warten bis jemand vorbeikommt der sich damit auskennt oder selber prüfen...