From faf5efeed94933b295ad41435f878bcd0b399204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20R=2E=20Pietraszczyk?= Date: Sat, 2 Aug 2025 17:49:49 +0200 Subject: przem-serigraphy --- script-fu/2.10/przem-serigraphy.scm | 77 +++++++++++++++++++++++++++++++++++++ script-fu/changelog.md | 3 ++ 2 files changed, 80 insertions(+) create mode 100644 script-fu/2.10/przem-serigraphy.scm diff --git a/script-fu/2.10/przem-serigraphy.scm b/script-fu/2.10/przem-serigraphy.scm new file mode 100644 index 0000000..fad2ecd --- /dev/null +++ b/script-fu/2.10/przem-serigraphy.scm @@ -0,0 +1,77 @@ +; przem-serigraphy - imituje efekt mokrego kolodionu +; author: PRP +; licencja: Public Domain +; Gdańsk - 02-08-2025 +; ver. 2.250802-0~beta + +(define (przem-serigraphy img drawable levels detail transparency dark-color light-color) + (let* ( + (width (car (gimp-image-width img))) + (height (car (gimp-image-height img))) + (old-bg (car (gimp-context-get-background))) + (old-fg (car (gimp-context-get-foreground))) + (layer-copy (car (gimp-layer-copy drawable FALSE))) + ;(gamma 0) + ) + + (gimp-context-push) + (gimp-image-undo-group-start img) + + ; Ustaw kolory + (gimp-context-set-background light-color) + (gimp-context-set-foreground dark-color) + + ; Utwórz kopię warstwy do pracy + (gimp-image-insert-layer img layer-copy 0 -1) + (gimp-item-set-name layer-copy "Serigraphy Effect") + (gimp-layer-set-mode layer-copy LAYER-MODE-MULTIPLY) + + ; Konwersja do czarno-białego z kontrolą poziomów + (gimp-desaturate-full layer-copy DESATURATE-LIGHTNESS) + ;(set! gamma (truncate (/ 10 (- levels 1)))) + (gimp-levels layer-copy HISTOGRAM-VALUE 0 200 (/ 10 (- levels 1)) 0 255) + + ; Wzmocnij krawędzie dla efektu sitodruku + (plug-in-unsharp-mask RUN-NONINTERACTIVE img layer-copy 5.0 0.5 0) + + ; Utwórz warstwę koloru tła + (let* ((bg-layer (car (gimp-layer-new img width height RGB-IMAGE "Background" 100 LAYER-MODE-NORMAL)))) + (gimp-image-insert-layer img bg-layer 0 -1) + (gimp-drawable-fill bg-layer FILL-BACKGROUND) + (gimp-layer-set-opacity bg-layer transparency) + + ; Połącz warstwy dla końcowego efektu + (let* ((merged (car (gimp-image-merge-down img layer-copy CLIP-TO-IMAGE)))) + (gimp-item-set-name merged "Serigraphy Output") + ) + ) + + ; Przywróć oryginalne kolory + (gimp-context-set-background old-bg) + (gimp-context-set-foreground old-fg) + + (gimp-image-undo-group-end img) + (gimp-context-pop) + (gimp-displays-flush) + ) +) + +(script-fu-register "przem-serigraphy" + _"Serigraphy..." + _"Tworzy efekt serigrafii (sitodruku)" + "PRP" + "Public Domain" + "2025-08-02" + "RGB* GRAY*" + SF-IMAGE "Image" 0 + SF-DRAWABLE "Drawable" 0 + SF-ADJUSTMENT "Color levels" '(4 2 8 1 1 0 0) + SF-ADJUSTMENT "Details" '(0.5 0.1 1.0 0.1 0.1 1 0) + SF-ADJUSTMENT "Background transparency" '(1 1 10 1 1 1 0) + SF-COLOR "Dark color" '(50 50 150) + SF-COLOR "Light color" '(250 240 200) + +) + +(script-fu-menu-register "przem-serigraphy" + "/Filters/PIETRASZCZYK/") diff --git a/script-fu/changelog.md b/script-fu/changelog.md index 2e79690..e3a36b6 100644 --- a/script-fu/changelog.md +++ b/script-fu/changelog.md @@ -1,3 +1,6 @@ +# [2.250802-0] przem-serigraphy +* Dodanie nowego filtra przem-serigraphy dla 2.10 + # [2.250718-0] przem-wey-collodion * Uspawnienia -- cgit v1.2.3