bozi
Themenersteller
Hi,
Ich habe mir mal die Mühe gemacht und ein (mein 1.) script-fu gebastelt, welches Schatten aufhellt bzw. Lichter abschwächt. Nutzbar ist es ab Version 2.3.x, mit etwas Anpassung sicher auch mit 2.2.x.
Am besten auch mal den Kopf durchlesen bevor man es nutzt
Also: probieren, Meinung sagen
bozi
Ich habe mir mal die Mühe gemacht und ein (mein 1.) script-fu gebastelt, welches Schatten aufhellt bzw. Lichter abschwächt. Nutzbar ist es ab Version 2.3.x, mit etwas Anpassung sicher auch mit 2.2.x.
Am besten auch mal den Kopf durchlesen bevor man es nutzt

Code:
; aufh.scm
; erstellt von bozi / osb at gmx.net
; benötigt gimp 2.3.x
; dieses Script basiert ursprünglich auf "Dunkle Schatten im Foto heller machen"
; auf http://gimps.de/gimp/bilder-fotos/dunkles-aufhellen/index.htm
; es ermöglicht den Effekt auf bis zu 300% zu setzen, bis 100% wird dabei nur 1 Korrekturebene benutzt, darüber hinaus mehrere
; Zum noch besseren Abschwächen der Glanzlichter habe ich den Mechanismus etwas abgeändert nocheinmal hinzugefügt
; bei rgb 8bit lässt sich auch Streiten über den Sinn von großen Werten, aber es sind trotzdem auch gute Ergebnisse damit erreichbar.
;
;* Kontrast: verstärkt die Wirkung des Effektes (sinnvolle Werte 20-40), bei hohen Werten muß evtl. der Radius verkleinert werden
;* Radius: verändert den Weichzeichner-Radius der Korrekturebene (Standard ist 15). Bei starken Korrekturen ist dieser erkennbar
; und man kann mit Aufhellen,Kontrast,Radius etwas variieren um das beste Ergebnis zu erzielen (Radius < 5 Pixel)
;* Korrektur-Ebenen belassen: wenn man sich nach einiger Übung/Erfahrung ziemlich sicher ist in der Parameterwahl,
; kann man die ganzen Ebenen gleich zusammenfügen lassen
;
(define (script-fu-tiefenlichter
image
drawable
menge
mengedunkel
belassen
kontrast
radius)
(let* ((shadow-opacity (max (min menge 100) 0))
(old-bg (car (gimp-context-get-background)))
(korr-ebene 0))
(gimp-image-undo-group-start image)
; erstmal 1 layer kopieren
(set! korr-ebene (car (gimp-layer-copy drawable 1)))
(gimp-image-add-layer image korr-ebene -1)
(gimp-drawable-set-name korr-ebene "Aufheller")
; grundkorrektur erstellen (sw,invertieren,weichzeichnen,kontrast,ebenenmaske_überlagern)
(gimp-desaturate korr-ebene)
(gimp-invert korr-ebene)
(plug-in-gauss-iir -1 (car (gimp-drawable-get-image korr-ebene)) korr-ebene radius TRUE TRUE)
(gimp-brightness-contrast korr-ebene 0 kontrast)
(gimp-layer-add-mask korr-ebene (car (gimp-layer-create-mask korr-ebene ADD-COPY-MASK)))
(set! dunkel-layer (car (gimp-layer-copy korr-ebene 1)))
(gimp-image-add-layer image dunkel-layer -1)
(gimp-drawable-set-name dunkel-layer "Abdunkler")
(gimp-layer-set-mode korr-ebene OVERLAY-MODE)
(gimp-layer-set-mode dunkel-layer DARKEN-ONLY-MODE)
; aufhellen/abdunkeln, dabei layer evtl mehrmals kopieren
(while (> menge 100)
(set! cp-layer (car (gimp-layer-copy korr-ebene 1)))
(gimp-image-add-layer image cp-layer -1)
(set! menge (- menge 100))
)
(while (> mengedunkel 100)
(set! cp-layer (car (gimp-layer-copy dunkel-layer 1)))
(gimp-image-add-layer image cp-layer -1)
(set! mengedunkel (- mengedunkel 100))
)
(gimp-layer-set-opacity korr-ebene menge)
(gimp-layer-set-opacity dunkel-layer mengedunkel)
; farbton und sättigung schützen per weitere layer ganz oben
(set! korrekturft-layer (car (gimp-layer-copy drawable 1)))
(gimp-image-add-layer image korrekturft-layer -1)
(gimp-drawable-set-name korrekturft-layer "Farbtonkorr.")
(gimp-layer-set-mode korrekturft-layer COLOR-MODE)
(gimp-image-raise-layer-to-top image korrekturft-layer)
(set! korrekturst-layer (car (gimp-layer-copy korrekturft-layer 1)))
(gimp-image-add-layer image korrekturst-layer -1)
(gimp-drawable-set-name korrekturst-layer "Saettigungskorr.")
(gimp-layer-set-mode korrekturst-layer SATURATION-MODE)
; aufräumen, ebenen zusammenfügen
(gimp-context-set-background old-bg)
(gimp-image-set-active-layer image korr-ebene)
(if (= belassen FALSE) (gimp-image-flatten image))
(gimp-image-undo-group-end image)
(gimp-displays-flush)))
(script-fu-register "script-fu-tiefenlichter"
_"<Image>/Script-Fu/Phototools/_Schatten Lichter"
"hellt dunkle Bereiche auf oder verdunkelt Lichter ala Tiefen/Lichter in PS"
"bozi <bozi@localhost>"
"bozi / osb at gmx dot net"
"2007/6/1"
"RGBA RGB"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-ADJUSTMENT _"Schatten aufhellen" '(100 0 300 1 10 0 0)
SF-ADJUSTMENT _"Lichter abdunkeln" '(0 0 300 1 10 0 0)
SF-TOGGLE "Korrektur-Ebenen belassen" TRUE
SF-ADJUSTMENT _"Kontrast (RTFM!)" '(0 -127 127 1 10 0 0)
SF-ADJUSTMENT _"Radius (RTFM!)" '(15 1 100 1 10 0 0)
)
Also: probieren, Meinung sagen

bozi