Forum Wiki Galerie Kontakt Wie man Fragen richtig stellt. Tutorial Forum
Zurück   GIMP-Forum 3.0 > Arbeiten mit Gimp > GIMP-Ressourcen > Skripte

Hinweise
Alt 26.01.2005, 22:46   #1
flashnfantasy
Erfahrener Benutzer
 
Benutzerbild von flashnfantasy
 
Registriert seit: 14.05.2004
Beiträge: 380
Standard Wie wär es mal mit gequirltem Hintergrund ?

Ziel:
Einen kachelbaren Hintergrund zu erzeugen.

Idee:
Das Plugin whirl-pinch dreht den Bildhintergrund ein wenig. Verschiebt man das Bild jetzt um eine feste x und y-Rate, und wendet das Plugin erneut an, dann erzeugt man so nach und nach Wirbelmuster auf dem Bild.
Entscheident ist, daß das Plugin den Rand des Bildes nicht verändert.

Verschiebt man das Bild zB um 1/3 der Breite in X-Richtung und 1/5 der Höhe in Y-Richtung, dann hat man nach 15 Durchgängen wieder das Bild an der alten Stelle.

Weitere Veränderungen werden so weich maskiert, daß sie nur in der Bildmitte zur Wirkung kommen.

Ergebniss:
Bisher steht nur eine Probeversion. Es sieht so aus als ob man kräftig in Farbe umherrührt.
Die verschiedenen Parameter erkläre ich unter dem Code:

Galeriebild

Code:
(define (script-fu-wrapMagic image
                             drawable
                             moveMode
                             spice
                             distortMode
                             blurMode
                             blurDir
                             edge)

    (gimp-image-undo-disable image)
    (set! moveRateX 1)
    (set! moveRateY 1)
    (if (= moveMode 0) (set! moveRateX 3))
    (if (= moveMode 0) (set! moveRateY 2))
    (if (= moveMode 1) (set! moveRateX 5))
    (if (= moveMode 1) (set! moveRateY 3))
    (if (= moveMode 2) (set! moveRateX 7))
    (if (= moveMode 2) (set! moveRateY 5))
    (if (= moveMode 3) (set! moveRateX 11))
    (if (= moveMode 3) (set! moveRateY 5))
    (if (= moveMode 4) (set! moveRateX 11))
    (if (= moveMode 4) (set! moveRateY 7))
    (if (= moveMode 5) (set! moveRateX 13))
    (if (= moveMode 5) (set! moveRateY 7))
    (if (= moveMode 6) (set! moveRateX 13))
    (if (= moveMode 6) (set! moveRateY 11))

    (if (or (= spice 0) (= spice 1) (= spice 2)) (set! spicex 17))
    (if (or (= spice 3) (= spice 4) (= spice 7)) (set! spicex 19))
    (if (or (= spice 5) (= spice 8)) (set! spicex 23))
    (if (or (= spice 9)) (set! spicex 29))
    (if (or (= spice 10)) (set! spicex 31))

    (if (or (= spice 0)) (set! spicey 17))
    (if (or (= spice 1)) (set! spicey 19))
    (if (or (= spice 2) (= spice 3)) (set! spicey 23))
    (if (or (= spice 4) (= spice 5) (= spice 6)) (set! spicey 29))
    (if (or (= spice 7) (= spice 8) (= spice 9) (= spice 10)) (set! spicey 31))

    (if (= blurDir 0) (set! mDir 90))
    (if (= blurDir 1) (set! mDir 45))
    (if (= blurDir 2) (set! mDir 135))
    (if (= blurDir 3) (set! mDir 270))

    (set! movesTotal (* moveRateX moveRateY))
    (set! moveLoop 0)

    (set! usizex (car (gimp-image-width image)))
    (set! usizey (car (gimp-image-height image)))


    (set! mStrong (/ (+ usizex usizey) 4))
    (set! mMedium (/ (+ usizex usizey) 10))
    (set! mWeak (/ (+ usizex usizey) 25))
    (set! mVeryWeak (/ (+ usizex usizey) 50))
    (set! wStrong (/ (+ usizex usizey) 100))
    (set! wMedium (/ (+ usizex usizey) 300))
    (set! wWeak (/ (+ usizex usizey) 600))
    (set! usizexm (/ usizex 6))
    (set! usizeym (/ usizey 6))
    (set! usizexm2 (/ usizex 3))
    (set! usizeym2 (/ usizey 3))

    (set! mx (* (/ usizex moveRateX) spicex))
    (set! my (* (/ usizey moveRateY) spicey))

    (while (< moveLoop movesTotal)
      (gimp-selection-none image)
      (if (= distortMode 1)
      (begin
        (plug-in-whirl-pinch 1 image drawable 30 0 1)
      ))
      (if (= distortMode 2)
      (begin
        (plug-in-whirl-pinch 1 image drawable 90 0 1)
      ))
      (if (= distortMode 3)
      (begin
        (plug-in-whirl-pinch 1 image drawable 135 0 1)
      ))
      (if (= distortMode 4)
      (begin
        (plug-in-whirl-pinch 1 image drawable 180 0 1)
      ))
      (if (= distortMode 5)
      (begin
        (plug-in-whirl-pinch 1 image drawable -135 0 1)
      ))
      (if (= distortMode 6)
      (begin
        (plug-in-whirl-pinch 1 image drawable -180 0 1)
      ))

      (if (or (= distortMode 7) (< 0 blurMode 1))
      (begin
        (gimp-rect-select image usizexm usizeym (- usizex usizexm2) (- usizey usizeym2) 2 0 0)
        (set! selectionChannel (car (gimp-image-get-selection image)))
        (plug-in-gauss 1 image selectionChannel usizexm2 usizeym2 1)
        (plug-in-c-astretch 1 image selectionChannel)
        (gimp-levels selectionChannel 0 128 255 1 0 255)
      ))

      (if (= distortMode 7) (gimp-hue-saturation drawable 0 45 0 0))

      (if (= blurMode 1) (plug-in-mblur 1 image drawable 0 mVeryWeak mDir 0 0))
      (if (= blurMode 2) (plug-in-mblur 1 image drawable 0 mWeak mDir 0 0))
      (if (= blurMode 3) (plug-in-mblur 1 image drawable 0 mMedium mDir 0 0))
      (if (= blurMode 4) (plug-in-mblur 1 image drawable 0 mStrong mDir 0 0))
      (if (= blurMode 5) (plug-in-wind 1 image drawable 0 0 wWeak 0 0))
      (if (= blurMode 6) (plug-in-wind 1 image drawable 0 0 wMedium 0 0))
      (if (= blurMode 7) (plug-in-wind 1 image drawable 0 0 wStrong 0 0))

      (gimp-selection-none image)
      (if (= edge 2) (plug-in-c-astretch 1 image drawable))
      (if (= edge 3) (plug-in-color-enhance 1 image drawable))
      (if (= edge 4) (gimp-levels-stretch drawable))
      (if (= edge 5) (plug-in-autostretch-hsv 1 image drawable))
      (gimp-drawable-offset drawable 1 1 mx my)

      (set! moveLoop (+ moveLoop 1))
    )

    (if (or (< 0 edge 1))
    (begin
      (set! edgelayer1 (car (gimp-layer-copy drawable 0)))
      (gimp-image-add-layer image edgelayer1 -1)
      (plug-in-c-astretch 1 image edgelayer1)
      (plug-in-edge 1 image edgelayer1 1 0 1)
      (gimp-invert edgelayer1)
      (set! edgelayer2 (car (gimp-layer-copy drawable 0)))
      (gimp-image-add-layer image edgelayer2 -1)
      (plug-in-c-astretch 1 image edgelayer2)
      (plug-in-edge 1 image edgelayer2 2 0 1)
      (gimp-invert edgelayer2)
      (set! edgelayer3 (car (gimp-layer-copy drawable 0)))
      (gimp-image-add-layer image edgelayer3 -1)
      (plug-in-c-astretch 1 image edgelayer3)
      (plug-in-edge 1 image edgelayer3 10 0 1)
      (gimp-invert edgelayer3)
    ))
    (gimp-image-undo-enable image)
    (gimp-image-clean-all image)
    (gimp-displays-flush)
)



(script-fu-register "script-fu-wrapMagic"
                    _"<Image>/Script-Fu/Alchemy/wrap-magic..."
                    "Wraps Image"
                    "Mathias"
                    "Mathias"
                    "14/05/04"
                    "RGB*"
                    SF-IMAGE       "Image"          0
                    SF-DRAWABLE    "Drawable"       0
                    SF-OPTION     _"Moves" '    (_"3-2"
                                                _"5-3 time for a coffee"
                                                _"7-5 get lots of cookies and coffee"
                                                _"11-5 take a long nap"
                                                _"11-7 take a really long nap"
                                                _"13-7 are you sure about this"
                                                _"13-11 you are gone nuts"
                                                 )
                    SF-OPTION     _"Spices" '    (_"17-17"
                                                  _"17-19"
                                                  _"17-23"
                                                  _"19-23"
                                                  _"19-29"
                                                  _"23-29"
                                                  _"29-29"
                                                  _"19-31"
                                                  _"23-31"
                                                  _"29-31"
                                                  _"31-31"
                                                 )
                    SF-OPTION     _"Whirl etc" '    (_"None"
                                                     _"Wirl 30"
                                                     _"Wirl 90"
                                                     _"Wirl 135"
                                                     _"Wirl 180"
                                                     _"Wirl -135"
                                                     _"Wirl -180"
                                                     _"Hue"
                                                     )
                    SF-OPTION     _"Blur" '    (_"None"
                                                _"weakest mBlur"
                                                _"easy mBlur"
                                                _"medium mBlur"
                                                _"strong mBlur"
                                                _"weak wind"
                                                _"medium wind"
                                                _"strong wind"
                                                )
                    SF-OPTION     _"MotionBlur" '    (_"up"
                                                _"up left"
                                                _"up right"
                                                _"down"
                                                )
                    SF-OPTION     _"Edge-Effect\nContrast" ' (_"none"
                                                _"edges (just the Edges)"
                                                _"c-stretch (fine, prefer level stretch)"
                                                _"color-enhance (weak)"
                                                _"levels stretch (most beautyful)"
                                                _"hsv-stretch (less color, more contrast)"
                                                )

)
Moves Die Anzahl der Bewegungen in X und Y Richtung. Das Produkt gibt die Gesamtzahl an Bewegungen an. Also, je höher die Zahl, desto mehr einzelne Schritte, desto länger dauert es.

Spices Ist ein Mulitplikator für die Moves, verändert nur endgültige Muster. Ich habe festgestellt, daß egal welches Anfangsmuster man nimmt, nach einer bestimmten Anzahl von Moves das Ergebniss immer das Gleiche ist. Mit den Parameter Spices kann man jedoch auf das Endergebniss Einfluss nehmen.

Whirl etc. Hier wird das Muster durchmischt. Hier werden in Zukunft noch ne ganze Menge Erweiterungen passieren !
Genauere Beschreibung der Parameter spare ich mir mal.

Blur Gerade mit dem Motion-Blur kann man die teilweise harten Kontraste wirkungsvoll durchmischen und es kommen weiche Bilder raus.

MotionBlur Die Richtung des Blurs - auch einfach nur, um verschiedene Parameter zu haben.

Edge-Effect-Contrast Die Edges können noch eine schöne Kombination des ganzen darstellen. Ich nehme sie mal grundsätzlich dazu, weil man mit ihnen ein wenig experimentieren sollte.
Kontrast kann total wichtig werden, wenn manche Bilder nach und nach zu einem Einheitsfarbton vermischt werden, dann sollte man hier einen der Parameter setzen um die Farbkraft zu erhalten.
__________________
meine Website
flashnfantasy ist offline   Mit Zitat antworten
 

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:52 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.