diff options
| -rw-r--r-- | script-fu/3.0/przem-oldschool-photogrphy-v3.scm | 156 | ||||
| -rw-r--r-- | script-fu/3.0/przem-surreal-v3 — kopia.scm | 81 | ||||
| -rw-r--r-- | script-fu/3.0/przem-surreal-v3.scm | 72 | ||||
| -rw-r--r-- | script-fu/changelog.md | 5 |
4 files changed, 157 insertions, 157 deletions
diff --git a/script-fu/3.0/przem-oldschool-photogrphy-v3.scm b/script-fu/3.0/przem-oldschool-photogrphy-v3.scm deleted file mode 100644 index 1f29d70..0000000 --- a/script-fu/3.0/przem-oldschool-photogrphy-v3.scm +++ /dev/null @@ -1,156 +0,0 @@ -; przem-oldschool-photogrphy-v3.sh - Fotografia ze starej szkoły
-; 2025-09-25 - Przemysław R. Pietraszczyk
-; licence: Public Domain
-; ver. 2.250925-2
-
-(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 (apply-quick-tint img drawable width height saturation lightness hc)
-
- (gimp-drawable-color-balance drawable TRANSFER-SHADOWS 1
- (shadows (rval hc))
- (shadows (gval hc))
- (shadows (bval hc)))
- (gimp-drawable-color-balance drawable TRANSFER-MIDTONES 1
- (midtones (rval hc))
- (midtones (gval hc))
- (midtones (bval hc)))
- (gimp-drawable-color-balance drawable TRANSFER-HIGHLIGHTS 1
- (highlights (rval hc))
- (highlights (gval hc))
- (highlights (bval hc)))
-
- (gimp-drawable-hue-saturation drawable HUE-RANGE-ALL
- 0.0
- lightness
- saturation
- 0.0))
-
-(define (create-highlights-curve adjustment)
- (let ((curve-data (make-vector 256 'byte)))
- (do ((i 0 (+ i 1)))
- ((= i 256))
- (if (> i 128)
- ; Światła - zastosuj regulację
- (aset curve-data i (min 255 (max 0 (+ i (* (- i 128) adjustment)))))
- ; Cienie - bez zmian
- (aset curve-data i i)
- )
- )
- curve-data
- )
-)
-
-(define (create-shadows-curve adjustment)
- (let ((curve-data (make-vector 256 'byte)))
- (do ((i 0 (+ i 1)))
- ((= i 256))
- (if (< i 128)
- ; Cienie - zastosuj regulację
- (aset curve-data i (min 255 (max 0 (+ i (* i adjustment)))))
- ; Światła - bez zmian
- (aset curve-data i i)
- )
- )
- curve-data
- )
-)
-
-(define (przem-oldschool-photogrphy-v3 image drawable temperature strength tint-use
- contrast highlights shadows whites blacks saturation lightness hc)
-
- ; use v3 binding of return args from PDB
- ;(script-fu-use-v3)
-
- (let* (
- (temperature-factor (/ (- temperature 6500) 1000))
- (red-adjust (* temperature-factor (- strength)))
- (blue-adjust (* temperature-factor strength))
- (contrast-value (/ contrast 100))
- (adjust-value-highlights (/ highlights 100))
- (adjust-value-shadow (/ shadows 100))
- (width (car (gimp-image-get-width image)))
- (height (car (gimp-image-get-height image)))
- (layer (vector-ref drawable 0))
- (work-layer (car (gimp-layer-copy layer TRUE)))
- )
- (gimp-image-undo-group-start image)
- (gimp-context-push)
-
- (gimp-image-insert-layer image work-layer 0 -1)
-
- (if (= tint-use TRUE)
- (apply-quick-tint image work-layer width height saturation lightness hc))
- (if (= tint-use FALSE)
- ; Balans kolorów na podstawie temp. barwowej z kontrolą siły efektu
- (gimp-drawable-color-balance work-layer TRANSFER-SHADOWS 1 red-adjust 0 blue-adjust)
- (gimp-drawable-color-balance work-layer TRANSFER-MIDTONES 1 red-adjust 0 blue-adjust)
- (gimp-drawable-color-balance work-layer TRANSFER-HIGHLIGHTS 1 red-adjust 0 blue-adjust))
-
- (gimp-drawable-brightness-contrast work-layer 0 contrast-value)
-
- ;(gimp-drawable-curves-spline work-layer HISTOGRAM-VALUE 10 #(0 0 64 90 128 160 192 230 255 255))
- ;(gimp-drawable-curves-spline work-layer HISTOGRAM-RED 10 #(0 0 64 50 128 180 192 230 255 255))
- ;(gimp-drawable-curves-spline work-layer HISTOGRAM-GREEN 10 #(0 0 64 80 128 120 192 200 255 255))
- ;(gimp-drawable-curves-spline work-layer HISTOGRAM-BLUE 10 #(0 0 64 30 128 150 192 220 255 255))
- ; lub
- ;(define value #(0 0 64 90 128 160 192 230 255 255))
- ;(gimp-drawable-curves-spline work-layer HISTOGRAM-VALUE 10 value)
-
- ; Regulacja przez poziomy
- ; low imput - high input - gamma - output range
- (gimp-drawable-levels work-layer 0
- blacks
- whites
- 1.0 1.0 1.0 0 0)
-
-
- (gimp-image-undo-group-end image)
- (gimp-displays-flush)
- (gimp-context-pop)
- )
-)
-
-(script-fu-register-filter "przem-oldschool-photogrphy-v3"
- _"Oldchool photography"
- _"Fotografia ze starej szkoły"
- "PRP"
- "Public Domain"
- "2025-09-25"
- "RGB*"
- SF-ONE-OR-MORE-DRAWABLE
- SF-ADJUSTMENT "Temperatura (K)" '(5150 1000 10000 100 1000 0 1)
- SF-ADJUSTMENT "Siła efektu" '(1.0 0.1 3.0 0.1 0.5 1 0)
- SF-TOGGLE "Tint use" FALSE
- SF-ADJUSTMENT _"Kontrast" '(-30 -100 100 1 10 0 0)
- SF-ADJUSTMENT _"Światła" '(-80 -100 100 1 10 0 0)
- SF-ADJUSTMENT _"Shadow" '(30 -100 100 1 10 0 0)
- SF-ADJUSTMENT _"Whites" '(0 0 1 0.1 0.1 2 0)
- SF-ADJUSTMENT _"Blacks" '(1 0 1 0.1 0.1 2 0)
- SF-ADJUSTMENT _"Saturation" '(-80 -100 100 1 10 0 0)
- SF-ADJUSTMENT _"Lightness" '(-47 -100 100 1 10 0 0)
- SF-COLOR _"Highlight balance" '(211 95 0)
-)
-
-(script-fu-menu-register "przem-oldschool-photogrphy-v3"
- "<Image>/Filters/PIETRASZCZYK/")
diff --git a/script-fu/3.0/przem-surreal-v3 — kopia.scm b/script-fu/3.0/przem-surreal-v3 — kopia.scm new file mode 100644 index 0000000..1c9a809 --- /dev/null +++ b/script-fu/3.0/przem-surreal-v3 — kopia.scm @@ -0,0 +1,81 @@ +; przem-surreal-v3 - imitacja surrealistycznych obrazów
+; author: PRP
+; licencja: Public Domain
+; Gdańsk - 22-6-2025
+; ver. 2.250712-0~beta
+(define (przem-surreal-v3 img drawable)
+ (let* (
+ ; Duplikujemy warstwę
+ (width (car (gimp-image-get-width img)))
+ (height (car (gimp-image-get-height img)))
+ (layer-copy 0)
+ (source-layer (vector-ref (car (gimp-image-get-layers img)) 0 ))
+ (green-layer (car (gimp-layer-new img "Green" width height RGB-IMAGE 100 LAYER-MODE-NORMAL)))
+ (gauss-layer (car (gimp-layer-new img "Gauss" width height RGB-IMAGE 100 LAYER-MODE-NORMAL)))
+ (type-layer (vector-ref drawable 0))
+ (type (car (gimp-drawable-type type-layer)))
+
+ )
+ (gimp-context-push)
+ (gimp-image-undo-group-start img)
+
+
+ (set! layer-copy (car (gimp-layer-copy source-layer)))
+
+
+ ; Dodajemy skopiowaną warstwę
+ (gimp-image-insert-layer img layer-copy -1)
+
+
+ ;; jeśli obraz jest szary to konwertuje go na RGB - tak na sztukę
+ (if (> (car (gimp-drawable-type type-layer)) 1)
+ (gimp-image-convert-rgb img))
+
+ ; Konwersja obrazu do skali szarości
+ (if (= type RGB-IMAGE)
+ (gimp-drawable-desaturate type-layer DESATURATE-LIGHTNESS)
+ )
+
+
+
+
+ ; Dodajemy lekki niebieski odcień
+ ;(gimp-colorize layer-copy 200 30 0)
+ (gimp-context-set-foreground '(200 30 0))
+
+
+ (gimp-image-insert-layer img gauss-layer -1)
+
+ ; Rozmycie dla efektu mgły
+ ;(plug-in-gauss RUN-NONINTERACTIVE img layer-copy 10.0 10.0 1)
+ (gimp-drawable-merge-new-filter gauss-layer "gegl:gaussian-blur" RUN-NONINTERACTIVE LAYER-MODE-REPLACE 1.0 "std-dev-x" 1.0 "std-dev-y" 1.0 "filter" "auto")
+
+ ; Tryb mieszania: Overlay
+ (gimp-layer-set-mode layer-copy LAYER-MODE-MULTIPLY)
+ (gimp-layer-set-opacity layer-copy 70.0)
+
+ ; Dodajemy zieloną warstwę
+ (gimp-image-insert-layer img green-layer -1)
+ (gimp-context-set-foreground '(60 120 60)) ; ciemna zieleń
+ (gimp-drawable-edit-fill green-layer FILL-FOREGROUND)
+ (gimp-layer-set-mode green-layer LAYER-MODE-MULTIPLY)
+ (gimp-layer-set-opacity green-layer 25.0)
+
+ (gimp-image-undo-group-end img)
+ (gimp-displays-flush)
+ (gimp-context-pop)
+ )
+)
+
+(script-fu-register-filter "przem-surreal-v3"
+ "_Surreal Toning with Green"
+ "_Nadaje obrazowi chłodne barwy z zielonymi akcentami i efektem mgły"
+ "P.R.P"
+ "Public Domain"
+ "24-12-2025"
+ "RGB* GRAY*"
+ SF-ONE-OR-MORE-DRAWABLE
+)
+
+(script-fu-menu-register "przem-surreal-v3"
+ "<Image>/Filters/PIETRASZCZYK/")
diff --git a/script-fu/3.0/przem-surreal-v3.scm b/script-fu/3.0/przem-surreal-v3.scm new file mode 100644 index 0000000..0dd02fe --- /dev/null +++ b/script-fu/3.0/przem-surreal-v3.scm @@ -0,0 +1,72 @@ +; przem-surreal-v3 - imitacja surrealistycznych obrazów
+; author: PRP
+; licencja: Public Domain
+; Gdańsk - 22-6-2025
+; ver. 2.250712-0~beta
+(define (przem-surreal-v3 img drawable)
+ (let* (
+ ; Duplikujemy warstwę
+ (width (car (gimp-image-get-width img)))
+ (height (car (gimp-image-get-height img)))
+ (layer-copy 0)
+ (source-layer (vector-ref (car (gimp-image-get-layers img)) 0 ))
+ (green-layer (car (gimp-layer-new img "Green" width height RGB-IMAGE 100 LAYER-MODE-NORMAL)))
+ (type-layer (vector-ref drawable 0))
+ (type (car (gimp-drawable-type type-layer)))
+
+ )
+ (gimp-context-push)
+ (gimp-image-undo-group-start img)
+
+ (set! layer-copy (car (gimp-layer-copy source-layer)))
+
+ ; Dodajemy skopiowaną warstwę
+ (gimp-image-insert-layer img layer-copy -1)
+
+ ;; jeśli obraz jest szary to konwertuje go na RGB - tak na sztukę
+ (if (> (car (gimp-drawable-type type-layer)) 1)
+ (gimp-image-convert-rgb img))
+
+ ; Konwersja obrazu do skali szarości
+ (if (= type RGB-IMAGE)
+ (gimp-drawable-desaturate type-layer DESATURATE-LIGHTNESS)
+ )
+
+ ; Dodajemy lekki niebieski odcień
+ ;(gimp-colorize layer-copy 200 30 0)
+ (gimp-context-set-foreground '(200 30 0))
+
+ ;(gimp-image-insert-layer img gauss-layer -1)
+
+ ; Rozmycie dla efektu mgły
+ (gimp-drawable-merge-new-filter layer-copy "gegl:gaussian-blur" RUN-NONINTERACTIVE LAYER-MODE-REPLACE 1.0 "std-dev-x" 10.0 "std-dev-y" 10.0 "filter" "auto")
+
+ ; Tryb mieszania: Overlay
+ (gimp-layer-set-mode layer-copy LAYER-MODE-ADDITION)
+ (gimp-layer-set-opacity layer-copy 70.0)
+
+ ; Dodajemy zieloną warstwę
+ (gimp-image-insert-layer img green-layer -1)
+ (gimp-context-set-foreground '(60 120 60)) ; ciemna zieleń
+ (gimp-drawable-edit-fill green-layer FILL-FOREGROUND)
+ (gimp-layer-set-mode green-layer LAYER-MODE-MULTIPLY)
+ (gimp-layer-set-opacity green-layer 25.0)
+
+ (gimp-image-undo-group-end img)
+ (gimp-displays-flush)
+ (gimp-context-pop)
+ )
+)
+
+(script-fu-register-filter "przem-surreal-v3"
+ "_Surreal Toning with Green"
+ "_Nadaje obrazowi chłodne barwy z zielonymi akcentami i efektem mgły"
+ "P.R.P"
+ "Public Domain"
+ "24-12-2025"
+ "RGB* GRAY*"
+ SF-ONE-OR-MORE-DRAWABLE
+)
+
+(script-fu-menu-register "przem-surreal-v3"
+ "<Image>/Filters/PIETRASZCZYK/")
diff --git a/script-fu/changelog.md b/script-fu/changelog.md index 4806c63..5785423 100644 --- a/script-fu/changelog.md +++ b/script-fu/changelog.md @@ -1,8 +1,11 @@ +# [2.251224-0] przem-surreal-v3.scm +* Implementacja script-fu imitującego surrealistyczne obrazy + # [2.251104-1] przem-true-cyjanotype-v3.scm * Implementacja krzywych tonalnych w wersji v3 # [2.251014-1] przem-true-cyjanotype-v3.scm -* Wstępna wersjia, namiastka z wersji 2.10 +* Wstępna wersja, namiastka z wersji 2.10 # [2.251014-0] przem-true-cyjanotype-v3.scm * Pierwsze koty za płoty z portem kolejnego filtra |
