From afdda1574d490e086d8754eb44c18eb33bb409a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20R=2E=20Pietraszczyk?= Date: Fri, 18 Jul 2025 15:29:08 +0200 Subject: przem-wet-collodion.scm-2.2507-18-0 --- script-fu/2.10/przem-wet-collodion.scm | 75 ++++++++++++++++++++++++++++++++-- script-fu/changelog.md | 3 ++ 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 -- cgit v1.2.3