summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2025-07-18 15:29:08 +0200
committerPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2025-07-18 15:29:08 +0200
commitafdda1574d490e086d8754eb44c18eb33bb409a2 (patch)
tree1684c9891ba52cfb15b26b7e1126a96393f882c8
parent9b46c992c8ec500f235ad7242d0ee15947f6c6a5 (diff)
przem-wet-collodion.scm-2.2507-18-0HEADmaster
-rw-r--r--script-fu/2.10/przem-wet-collodion.scm75
-rw-r--r--script-fu/changelog.md3
2 files changed, 75 insertions, 3 deletions
diff --git a/script-fu/2.10/przem-wet-collodion.scm b/script-fu/2.10/przem-wet-collodion.scm
index 13bcd7d..9174cb5 100644
--- a/script-fu/2.10/przem-wet-collodion.scm
+++ b/script-fu/2.10/przem-wet-collodion.scm
@@ -1,4 +1,67 @@
-(define (przem-wet-collodion image drawable)
+; przem-wet-collodion - imituje efekt mokrego kolodionu
+; author: PRP
+; licencja: Public Domain
+; Gdańsk - 15-07-2025
+; ver. 2.250718-0~beta
+
+(define (add-hsv-noise img drawable intensity-h intensity-s intensity-v grain)
+ (let* (
+ (width (car (gimp-drawable-width drawable)))
+ (height (car (gimp-drawable-height drawable)))
+ (noise-layer (car (gimp-layer-new img width height RGB-IMAGE "Noise" 100 NORMAL-MODE)))
+ )
+
+ ; Rozpocznij edycję
+ ;(gimp-image-undo-group-start img)
+
+ ; Konwertuj do HSV jeśli to konieczne
+ ;(if (not (= (car (gimp-drawable-is-rgb drawable)) 1))
+ ; (gimp-image-convert-rgb img))
+
+ (gimp-image-insert-layer img noise-layer 0 -1)
+ (gimp-drawable-fill noise-layer FILL-TRANSPARENT)
+
+ ; Generuj szum
+ (plug-in-solid-noise RUN-NONINTERACTIVE img noise-layer 0 0 (random 1000) 0 4 4)
+
+ ; Ustaw odpowiednie intensywności dla każdego kanału HSV
+ (let* (
+ (h-channel (car (gimp-layer-new img width height RGB-IMAGE "H Channel" 100 LAYER-MODE-HSV-HUE)))
+ (s-channel (car (gimp-layer-new img width height RGB-IMAGE "S Channel" 100 LAYER-MODE-HSV-SATURATION)))
+ (v-channel (car (gimp-layer-new img width height RGB-IMAGE "V Channel" 100 LAYER-MODE-HSV-VALUE))))
+
+ ; Dodaj kanały
+ (gimp-image-insert-layer img h-channel 0 -1)
+ (gimp-image-insert-layer img s-channel 0 -1)
+ (gimp-image-insert-layer img v-channel 0 -1)
+
+ ; Skopiuj szum do każdego kanału
+ (gimp-edit-copy noise-layer)
+ (gimp-floating-sel-anchor (car (gimp-edit-paste h-channel TRUE)))
+ (gimp-floating-sel-anchor (car (gimp-edit-paste s-channel TRUE)))
+ (gimp-floating-sel-anchor (car (gimp-edit-paste v-channel TRUE)))
+ (gimp-layer-set-opacity noise-layer 0)
+
+ ; Ustaw przezroczystość dla każdego kanału
+ (gimp-layer-set-opacity h-channel intensity-h)
+ (gimp-layer-set-opacity s-channel intensity-s)
+ (gimp-layer-set-opacity v-channel intensity-v)
+
+ ; Połącz kanały z oryginalnym obrazem
+ (gimp-image-merge-down img h-channel EXPAND-AS-NECESSARY)
+ (gimp-image-merge-down img s-channel EXPAND-AS-NECESSARY)
+ (gimp-image-merge-down img v-channel EXPAND-AS-NECESSARY)
+
+
+ )
+ ;(gimp-image-remove-layer img noise-layer)
+ )
+)
+
+
+
+
+(define (przem-wet-collodion image drawable intensity-h intensity-s intensity-v grain blur)
(let* (
(width (car (gimp-image-width image)))
(height (car (gimp-image-height image)))
@@ -17,10 +80,11 @@
)
;; Dodanie szumu
- (plug-in-noisify RUN-NONINTERACTIVE image drawable FALSE 0.8 0.8 0.8 0)
+ (add-hsv-noise image drawable intensity-h intensity-s intensity-v grain)
+ (plug-in-noisify RUN-NONINTERACTIVE image drawable FALSE grain grain grain 0)
;; Dodanie lekkiego rozmycia
- (plug-in-gauss-iir2 RUN-NONINTERACTIVE image drawable 2 2)
+ (plug-in-gauss-iir2 RUN-NONINTERACTIVE image drawable blur blur)
(gimp-image-undo-group-end image)
(gimp-displays-flush)
@@ -36,6 +100,11 @@
"RGB*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
+ SF-ADJUSTMENT "Hue Noise Intensity" '(30 0 100 1 10 0 0)
+ SF-ADJUSTMENT "Saturation Noise Intensity" '(20 0 100 1 10 0 0)
+ SF-ADJUSTMENT "Value Noise Intensity" '(15 0 100 1 10 0 0)
+ SF-ADJUSTMENT "Grain" '(0.2 0 1 0.1 0.1 2 0)
+ SF-ADJUSTMENT "Blur" '(2 0 100 1 10 0 0)
)
(script-fu-menu-register "przem-wet-collodion"
diff --git a/script-fu/changelog.md b/script-fu/changelog.md
index d7f690c..2e79690 100644
--- a/script-fu/changelog.md
+++ b/script-fu/changelog.md
@@ -1,3 +1,6 @@
+# [2.250718-0] przem-wey-collodion
+* Uspawnienia
+
# [2.250715-0] przem-wet-collodion
* Mokry kolodion