summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2026-10-23 23:22:26 +0200
committerPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2026-10-23 23:22:26 +0200
commitc836342e9630432e1b59a13cde4ddf717cc96bda (patch)
tree569d3f718ae1448c8c6c595e72a29fa3d5e93d6d
parentaca4f63275beb4a14c5f5f1b56160630682d7651 (diff)
2.261023-0:przem-warm-grayscale-v3x.scm
-rw-r--r--[-rwxr-xr-x]bash/run.sh0
-rw-r--r--script-fu/3.x/przem-sepia-dust-v3x.scm2
-rw-r--r--script-fu/3.x/przem-warm-grayscale-v3x.scm78
-rw-r--r--script-fu/SNAPSHOTS/przem-harman-azure-125-v3x.scm101
-rw-r--r--script-fu/changelog.md3
5 files changed, 183 insertions, 1 deletions
diff --git a/bash/run.sh b/bash/run.sh
index bdc4d59..bdc4d59 100755..100644
--- a/bash/run.sh
+++ b/bash/run.sh
diff --git a/script-fu/3.x/przem-sepia-dust-v3x.scm b/script-fu/3.x/przem-sepia-dust-v3x.scm
index b77c3fe..0194786 100644
--- a/script-fu/3.x/przem-sepia-dust-v3x.scm
+++ b/script-fu/3.x/przem-sepia-dust-v3x.scm
@@ -1,7 +1,7 @@
; przem-sepia-dust-v3xTworzy dramatyczne światło, wysoki kontrast.
; Przmeysław R. Pietraszczyk
; 2026-08-05
-; ver 2.260805-0
+; ver 2.260805-1
; editor: Kate
(define (przem-sepia-dust-v3x image drawable)
diff --git a/script-fu/3.x/przem-warm-grayscale-v3x.scm b/script-fu/3.x/przem-warm-grayscale-v3x.scm
new file mode 100644
index 0000000..d637c91
--- /dev/null
+++ b/script-fu/3.x/przem-warm-grayscale-v3x.scm
@@ -0,0 +1,78 @@
+; przem-warm-grayscale-v3x - imituje efekt ciepłej czernii
+; author: PRP
+; licencja: Public Domain
+; Gdańsk - 23-10-2026
+; ver. 2.261023-0
+
+(define (przem-warm-grayscale-v3x image drawable brightness saturation palette black)
+
+ (let* (
+ (layer (vector-ref drawable 0))
+ (type (car (gimp-drawable-type-with-alpha layer)))
+ (mask (car (gimp-channel-new image "Engraving Mask" (car (gimp-image-get-width image)) (car (gimp-image-get-height image)) black '(0.4 0.4 0.2 0.0 0.0 0.0 0.0 0.0 0.0))))
+ (gradient-layer 0)
+ )
+ (gimp-context-push)
+ (gimp-image-undo-group-start image)
+ ;; Desaturacja
+ (if (= type RGBA-IMAGE)
+ (gimp-drawable-desaturate layer DESATURATE-LIGHTNESS))
+
+ (gimp-layer-set-mode layer 0) ; NORMAL mode
+
+ ;; jeśli obraz jest szary to konwertuje go na RGB - tak na sztukę
+ (if (> (car (gimp-drawable-type layer)) 1)
+ (gimp-image-convert-rgb image))
+
+ ;; Dodaj ciepłe kolory przez saturację i odcień
+ (gimp-drawable-brightness-contrast layer (/ brightness 100) 0)
+ ; Odcień 30 = ciepłe kolory
+ (gimp-drawable-hue-saturation layer HUE-RANGE-ALL 0 0 (/ saturation 100) 30)
+
+ ; dla obrazów przestrzeni RGB i Gray, utworzenie nowej warstwy, dopiero po kowersji na rgb
+ (set! gradient-layer (car (gimp-layer-new image "Prussian Blue" (car (gimp-image-get-width image)) (car (gimp-image-get-height image)) RGBA-IMAGE 100 LAYER-MODE-NORMAL)))
+
+ (let* (
+
+ (color-response (gimp-palette-get-entry-color palette 0))
+ (color (car color-response))
+ )
+ (gimp-context-set-foreground color)
+ )
+ (gimp-image-insert-channel image mask -1 0)
+ (gimp-image-insert-layer image gradient-layer 0 -1)
+ (gimp-drawable-edit-gradient-fill gradient-layer
+ GRADIENT-LINEAR 0
+ FALSE 1 0
+ TRUE
+ 0 0 0 0)
+ (gimp-layer-set-opacity gradient-layer 5)
+
+ ;; profil koloru sRGB
+ ; (gimp-image-assign-profile image "sRGB IEC61966-2.1")
+
+ ;; Ustaw tryb warstwy na "Normal" (jeśli potrzebne)
+ (gimp-layer-set-mode layer 0)
+ (gimp-image-undo-group-end image)
+
+ (gimp-displays-flush)
+ (gimp-context-pop)
+ ))
+
+(script-fu-register-filter
+ "przem-warm-grayscale-v3x"
+ "Warm Grayscale"
+ "Converts a color image to a warm grayscale image (with orange/yellow
+tones)"
+ "P.R.P"
+ "MIT"
+ "23-10-2026"
+ "RGB* GRAY*"
+ SF-ONE-OR-MORE-DRAWABLE
+ SF-ADJUSTMENT "Brightness" '(0 -100 100 1 10 0 0)
+ SF-ADJUSTMENT "Saturation" '(0 -100 100 1 10 0 0)
+ SF-PALETTE _"Palette" "Default"
+ SF-ADJUSTMENT "Black" '(5 0 100 1 10 0 0)
+)
+(script-fu-menu-register "przem-warm-grayscale-v3x"
+"<Image>/Filters/PIETRASZCZYK/")
diff --git a/script-fu/SNAPSHOTS/przem-harman-azure-125-v3x.scm b/script-fu/SNAPSHOTS/przem-harman-azure-125-v3x.scm
new file mode 100644
index 0000000..0133c40
--- /dev/null
+++ b/script-fu/SNAPSHOTS/przem-harman-azure-125-v3x.scm
@@ -0,0 +1,101 @@
+; przem-harman-azure-125-v3x - Imitacja filmu Harman Azure 125
+; 2026-09-20 - Przemysław R. Pietraszczyk
+; licence: GPL v3
+; ver. 2.260920-0
+; Ten script-fu wykorzystuje funkcje ze skryptu 'chrome-it.scm'
+; Autorstwa Spencer Kimball
+
+(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-harman-azure-125-v3x image drawable)
+
+
+ ;; Duplikacja warstwy
+ (let* (
+ (base-layer (vector-ref drawable 0))
+ (dup (car (gimp-layer-copy base-layer TRUE)))
+ (work (car (gimp-layer-copy base-layer TRUE)))
+ (exposure (car (gimp-layer-copy base-layer TRUE)))
+ (filter-exposure 0)
+ )
+
+ (gimp-image-undo-group-start image)
+
+ (gimp-image-insert-layer image work 0 -1)
+ (gimp-image-insert-layer image dup 0 -1)
+
+
+ ;; Wywołanie operacji GEGL dla temperatury barwowej
+ (let* ((temperature 0))
+ (gimp-drawable-merge-new-filter base-layer
+ "gegl:color-temperature" "Temp" LAYER-MODE-REPLACE 0.95 "original-temperature" 6500.0 "intended-temperature" 9000.0)
+ )
+
+ (let* (
+ ;cyan-red -0.25, magenta-green 0.20, yellow-blue 0.35
+ (c1 '(-0.25 0.20 0.35))
+ (c2 '(0.30 -0.10 -0.25))
+ )
+ (gimp-drawable-color-balance dup TRANSFER-SHADOWS 1
+ (shadows (rval c1))
+ (shadows (gval c1))
+ (shadows (bval c1)))
+ (gimp-drawable-color-balance dup TRANSFER-HIGHLIGHTS 1
+ (highlights (rval c2))
+ (highlights (gval c2))
+ (highlights (bval c2)))
+ (gimp-layer-set-opacity dup 0.85))
+
+ ;; 4. Lekka mgiełka (soft-light + blur)
+ ;(let* (
+ ; (fog (car (gimp-layer-copy dup TRUE)))
+ ; )
+ ; (gimp-image-insert-layer image fog 0 -1)
+
+ ; (gimp-drawable-curves-spline fog HISTOGRAM-VALUE #(0 0 10 10 1))
+ ; (gimp-layer-set-mode light-layer LAYER-MODE-SOFTLIGHT)
+ ; (gimp-layer-set-opacity light-layer 100)
+ ;)
+
+ (let* ((temperature 0))
+ (gimp-drawable-merge-new-filter exposure
+ "gegl:exposure" "Exp" LAYER-MODE-REPLACE 0.70 "black-level" -0.02 "exposure" 0.30)
+ ;(gimp-image-insert-layer image temperature 0 -1)
+ )
+ (gimp-image-insert-layer image exposure 0 -1)
+
+ (gimp-image-undo-group-end image)
+ (gimp-displays-flush)
+ )
+)
+
+(script-fu-register-filter "przem-harman-azure-125-v3x"
+ _"Harman Azure 125 filmi imitation"
+ _"Imituje film Harman Azure 125."
+ "Przemysław R. Pietraszczyk"
+ "GPL v3"
+ "2026-09-20"
+ "RGB*"
+ SF-ONE-OR-MORE-DRAWABLE
+)
+
+(script-fu-menu-register "przem-harman-azure-125-v3x"
+ "<Image>/Filters/PIETRASZCZYK/")
diff --git a/script-fu/changelog.md b/script-fu/changelog.md
index 2e18984..0446def 100644
--- a/script-fu/changelog.md
+++ b/script-fu/changelog.md
@@ -1,3 +1,6 @@
+# [2.261023-0] przem-warm-grayscale.scm
+* Nowy filtr imitujący ciepłą czerń
+
# [2.260805-1] przem-sepia-dust-v3x.scm
* Kopiowanie warstw roboczych z base-layer
* FILL-BACKGROUND dla new-image