summaryrefslogtreecommitdiff
path: root/script-fu
diff options
context:
space:
mode:
authorPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2025-09-01 20:20:45 +0200
committerPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2025-09-01 20:20:45 +0200
commit83a9d49cf0a64af29aaa58df04497eeeda75553b (patch)
tree3b52c79282981e42121b053e5adc3959a0ebb573 /script-fu
parentdad6d58256176ed230161bcb00b935fdaca4d0cd (diff)
2.250901-0:przem-sunset-effect-v3.scm
Diffstat (limited to 'script-fu')
-rw-r--r--script-fu/3.0/przem-sunset-effect-v3.scm103
-rw-r--r--script-fu/changelog.md5
2 files changed, 107 insertions, 1 deletions
diff --git a/script-fu/3.0/przem-sunset-effect-v3.scm b/script-fu/3.0/przem-sunset-effect-v3.scm
new file mode 100644
index 0000000..0dbc201
--- /dev/null
+++ b/script-fu/3.0/przem-sunset-effect-v3.scm
@@ -0,0 +1,103 @@
+; przem-sunset-effect-v3 - imituje efekt zachodzącego słońca
+; author: PRP
+; licencja: Public Domain
+; Gdańsk - 01-09-2025
+; ver. 2.250901-0~beta
+
+(define (shadows val)
+ (/ (* 0.96 val) 2.55))
+
+(define (midtones val)
+ (/ val 2.55))
+
+(define (highlights val)
+ ; The result is used as "gimp-drawable-color-balance" color parameter
+ ; and thus must be restricted to -100.0 <= highlights <= 100.0.
+ (min (/ (* 1.108 val) 2.55) 100.0))
+
+(define (rval col)
+ (car col))
+
+(define (gval col)
+ (cadr col))
+
+(define (bval col)
+ (caddr col))
+
+
+(define (przem-sunset-effect-v3 img drawable)
+ (gimp-image-undo-group-start img)
+
+ ; Tworzenie warstw dla różnych efektów
+ (let* (
+ (layer (vector-ref drawable 0))
+ (sunset-layer (car (gimp-layer-copy layer TRUE)))
+ ;(original-visible (car (gimp-drawable-get-visible drawable)))
+ (original-visible (car (gimp-layer-copy layer TRUE)))
+ (width (car (gimp-image-get-width img)))
+ (height (car (gimp-image-get-height img)))
+ )
+
+ ; Dodawanie warstwy do obrazu
+ (gimp-image-insert-layer img sunset-layer 0 -1)
+ (gimp-layer-set-mode sunset-layer LAYER-MODE-MULTIPLY)
+ (gimp-item-set-name sunset-layer _"Sunset Effect")
+
+
+ ; Nakładanie gradientu ciepłych kolorów
+ (gimp-context-set-foreground '(255 100 0)) ; pomarańczowy
+ (gimp-context-set-background '(150 0 50)) ; różowo-czerwony
+
+ ; Tworzenie gradientu
+ (gimp-layer-set-mode sunset-layer LAYER-MODE-SUBTRACT) ;
+ (gimp-drawable-edit-gradient-fill sunset-layer
+ GRADIENT-LINEAR 1 FALSE 1 0 TRUE
+ 0 0 width height)
+
+
+ ; cieplejsze cienie
+ (gimp-drawable-color-balance sunset-layer TRANSFER-SHADOWS 1
+ (shadows (rval '(30 0 -20)))
+ (shadows (gval '(30 0 -20)))
+ (shadows (bval '(30 0 -20))))
+
+ ; cieplejsze średnie tony
+ (gimp-drawable-color-balance sunset-layer TRANSFER-MIDTONES 1
+ (midtones (rval '(40 0 -10)))
+ (midtones (gval '(40 0 -10)))
+ (midtones (bval '(40 0 -10))))
+
+ ; cieplejsze światła
+ (gimp-drawable-color-balance sunset-layer TRANSFER-HIGHLIGHTS 1
+ (highlights (rval '(20 0 -5)))
+ (highlights (gval '(20 0 -5)))
+ (highlights (bval '(20 0 -5))))
+
+
+ ; Zwiększenie kontrastu
+ ;(gimp-levels sunset-layer 0 20 230 1.0 0 255)
+ (gimp-drawable-levels sunset-layer 0
+ 0 0.20 0 TRUE
+ 1.0
+ 0.0 1.0 TRUE)
+
+ ; Dodanie lekkiego rozmycia dla miękkiego efektu
+ ;(plug-in-gauss-iir 1 img sunset-layer 5 TRUE TRUE)
+ (gimp-drawable-merge-new-filter sunset-layer "gegl:gaussian-blur" 1 LAYER-MODE-REPLACE 1.0 "std-dev-x" 5 "std-dev-y" 5 "filter" "auto")
+
+ (gimp-image-undo-group-end img)
+ (gimp-displays-flush)
+ )
+)
+
+(script-fu-register-filter "przem-sunset-effect-v3"
+ _"Sunset Effect"
+ _"Imitacja kolorystyki zachodu słońca"
+ "P.R.P."
+ "Public Domain"
+ "2025-09-01"
+ "*"
+ SF-ONE-OR-MORE-DRAWABLE)
+
+(script-fu-menu-register "przem-sunset-effect-v3"
+ "<Image>/Filters/PIETRASZCZYK/")
diff --git a/script-fu/changelog.md b/script-fu/changelog.md
index f4a6374..2465dcf 100644
--- a/script-fu/changelog.md
+++ b/script-fu/changelog.md
@@ -1,7 +1,10 @@
+# [2.250901-0] przem-sunset-effect-v3.scm
+* Nowy filtr z imitacją zachodu słońca
+
# [2.250824-2] przem-cyanotype-color-effect-multi-v3.scm
* Uproszczona konwersja (bez gumy) przem-cyanotype-gum-effect.scm
-# [2.250824-1]
+# [2.250824-1] przem-wet-collodion-v3
* dodanie opcji MODE dla rozmycia z trybami: AUTO, IIR, FIR
# [2.250824-0] przem-wet-collodion-v3