diff options
author | Przemysław R. Pietraszczyk <przem@prymula.ct8.pl> | 2025-07-12 18:27:49 +0200 |
---|---|---|
committer | Przemysław R. Pietraszczyk <przem@prymula.ct8.pl> | 2025-07-12 18:27:49 +0200 |
commit | 732680713aad838512b90b75c3a24c7df9d02d43 (patch) | |
tree | 18bde53b6fa3bc09818c0657142f6da5c057899e | |
parent | 7f0e5805b504a2906b6bc024d362643b8ed2583f (diff) |
przem-prussian-blue-effect-v3.scm-2.250712-0
-rw-r--r-- | script-fu/3.0/przem-prussian-blue-effect-v3.scm | 47 | ||||
-rw-r--r-- | script-fu/changelog.md | 139 | ||||
-rw-r--r-- | script-fu/snapshot/helos-40.scm | 70 |
3 files changed, 243 insertions, 13 deletions
diff --git a/script-fu/3.0/przem-prussian-blue-effect-v3.scm b/script-fu/3.0/przem-prussian-blue-effect-v3.scm index 720e83b..c61a422 100644 --- a/script-fu/3.0/przem-prussian-blue-effect-v3.scm +++ b/script-fu/3.0/przem-prussian-blue-effect-v3.scm @@ -2,10 +2,12 @@ ; author: PRP ; licencja: Public Domain ; Gdańsk - 22-6-2025 -; ver. 2.250711-0~beta +; ver. 2.250712-0~beta -(define (przem-prussian-blue-effect-v3 img drawable black value-blue brightness contrast) +(define (przem-prussian-blue-effect-v3 img drawable mode black value-blue brightness contrast) + ;(script-fu-use-v3) + (let* ((gradient-layer 0) (in-layer (vector-ref drawable 0)) (mask (car (gimp-channel-new img "Engraving Mask" (car (gimp-image-get-width img)) (car (gimp-image-get-height img)) black '(0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0)))) @@ -22,23 +24,41 @@ (gimp-image-insert-layer img gradient-layer 0 -1) (gimp-context-set-foreground '(0 51 102)) ; Kolor błękitu pruskiego (gimp-context-set-background '(0 0 0)) - ;(if (= mode 0) (gimp-layer-set-mode gradient-layer OVERLAY-MODE)) - ;(if (= mode 1) (gimp-layer-set-mode gradient-layer SCREEN-MODE)) - + (gimp-drawable-brightness-contrast gradient-layer brightness contrast) - - ;(plug-in-colors-channel-mixer TRUE img gradient-layer TRUE 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0) (gimp-image-insert-channel img mask -1 0) - - ;(gimp-edit-blend gradient-layer FG-BG-RGB-MODE NORMAL-MODE GRADIENT-LINEAR 100 0 REPEAT-NONE FALSE FALSE 0 0 TRUE 0 0 0 0) - (gimp-drawable-edit-gradient-fill gradient-layer - GRADIENT-LINEAR 0 + (if (= mode 0) (begin (gimp-layer-set-mode gradient-layer LAYER-MODE-NORMAL) + (gimp-drawable-edit-gradient-fill gradient-layer + GRADIENT-LINEAR 1 FALSE 1 0 TRUE - 0 0 0 0) - + 0 0 0 0))) + (if (= mode 1) (begin (gimp-layer-set-mode gradient-layer LAYER-MODE-SUBTRACT) + (gimp-drawable-edit-gradient-fill gradient-layer + GRADIENT-LINEAR 1 + FALSE 1 0 + TRUE + 0 0 0 0))) + (if (= mode 2) (begin (gimp-layer-set-mode gradient-layer LAYER-MODE-ADDITION) + (gimp-drawable-edit-gradient-fill gradient-layer + GRADIENT-LINEAR 1 + FALSE 1 0 + TRUE + 0 0 0 0))) + (if (= mode 3) (begin (gimp-layer-set-mode gradient-layer LAYER-MODE-DARKEN-ONLY) + (gimp-drawable-edit-gradient-fill gradient-layer + GRADIENT-LINEAR 1 + FALSE 1 0 + TRUE + 0 0 0 0))) + (if (= mode 3) (begin (gimp-layer-set-mode gradient-layer LAYER-MODE-DIFFERENCE) + (gimp-drawable-edit-gradient-fill gradient-layer + GRADIENT-LINEAR 1 + FALSE 1 0 + TRUE + 0 0 0 0))) ;(if (= invert TRUE) (gimp-invert gradient-layer)) (gimp-layer-set-opacity gradient-layer value-blue) @@ -60,6 +80,7 @@ "2025-06-22" "RGB* GRAY*" SF-ONE-OR-MORE-DRAWABLE + SF-OPTION "Mode" '("NORMAL" "SUBTRACT" "ADDITION" "DARKEN-ONLY" "DIFFERENCE") SF-ADJUSTMENT "Black" '(5 0 100 1 10 0 0) SF-ADJUSTMENT "Blue intensity" '(60 0 100 1 10 0 0) SF-ADJUSTMENT "Brightness" '(0 -1 1 0.0001 0.0001 2 0) diff --git a/script-fu/changelog.md b/script-fu/changelog.md new file mode 100644 index 0000000..d533603 --- /dev/null +++ b/script-fu/changelog.md @@ -0,0 +1,139 @@ +# [2.250712-0] przem-prossian-blue-effect-v3.scm +* Dodałem tryby mieszania warstwy +* Snapshot dla Helios-40.scm + +# [2.250711-0] przem-prossian-blue-effect-v3.scm +* Dodałem łączenie warstw, więc można już dodać na przykład ramkę + +# [2.250710-0] przem-prossian-blue-effect-v3.scm +* Port filtra dla Gimpa 3.0 + +# [2.250622-0] przem-prossian-blue-effect.scm +* Dodane filtra imitującego "pruski błękit" + +# [2.250619-3] przem-soft-focus-noninteractive-v3.scm +* Dodanie filtra wywolywanego z linii poleceń - nie uruchamia się + +# [2.250618-0] przem-cyanotype-gum-effect.scm +* Dodanie efektu zastosowania cyjanotypi wraz z gumą dwuchromianową\ + +# [2.250616-0] przem-soft-focus-noninteractive.scm +* Dodanie filtra wywolywanego z linii poleceń + +# [2.250615-0] przem-soft-focus.scm +* Dodanie filtra "miękkiego focusa' - w nawiązaniu do piktorializmu + +# [2.250610-4] przem-expired-negative.scm +* Konwersja z RGB na colorspace Gray + +# [2.250610-3] przem-expired-negative.scm +* Dzielnik mgły, zwiększony do 0.50 + +# [2.250610-2] przem-expired-negative.scm +* Dodanie suwaka density + +# [2.250610-1] przem-expired-negative.scm +* Przy odwolywaniu się do wspólnej funkcji gradientu - filtr dzialą nieprawidlowo +* Możliwa zmiana odcieniu gradientu (background) + +# [2.250608-3] przem-expired-negative.scm +* Dodaje efekt prawidłowo, zarówno na dole jak i na górze + +# [2.250608-2] przem-expired-negative.scm +* Dodaje efekt expire ORWO do poziomego zdjęcia, jednak nie równomiernie + +# [2.250525-1] przem-expired-negative.scm +* Rozróżnia rodzaj obrazu. Jednak prawidłowo przetwarza jedynie póki co portrety + +# [2.250522-4] przem-expired-negative.scm +* Mgła jest prawidłowo rozmieszczana po przegach + +# [2.250522-0] przem-expired-negative.scm +* Filtr imitujący przetermonowany negatyw ORWO - Inicjacja + +# [2.250225-2] przem-apply-waves-effect.scm +* Filtr, działać, działa. Jednak wynik, trudno uzanć za falowanie. + +# [2.250225-1] przem-apply-waves-effect.scm +* Pierwszy mały sukces + +# [2.250225-0] przem-apply-waves-effect.scm +* Próba skopiowania barwy pixela + +# [2.250224-0] przem-apply-waves-effect.scm +* Nowa propozycja z sincosinus + +# [2.250223-3] przem-apply-cents-effect.scm +* Drobne literówki + +# [2.250223-2] przem-apply-cents-effect.scm +* Dodanie nowego filtra - centkowanie + +# [2.250223-0] przem-apply-waves-effect.scm +* Dodanie nowego filtra + +# [2.250222-0] przem-apply-sepia-v3.scm +* Korekta w SF_OPTION + +# [2.250221-0] przem-apply-sepia-v3.scm +* Dodanie potrójnego pola wyboru dla rodzaju gradientu. + +# [2.25021=20-0] przem-apply-sepia-v3.scm +* Przeniesienie 'gimp-layer-new' do wewnątrz skryptu - desaturate dalej zwraca błąd przy zdjęciach monochromatycznych + +# [2.250219-1] przem-apply-sepia-v3.scm +* Dodanie 'gimp-image-flatten', bez efektu + +# [2.250219-0] przem-apply-sepia-v3.scm +* Dodanie suwaka z shadow-sepia użytego jako argument 'gimp-drawable-edit-gradient-fill' + +# [2.250217-0] przem-traditional-photo.scm && przem-traditional-photo-v3.scm +* Zmniejszyłem skrajne parametry do -100 i 100 dla skali kontrastu i balansu koloru + +# [2.250216-3] przem-traditional-photo-v3.scm +* Dodanie krosowania. Jednak można odnieść wrażenie że zmiana balans koloru nie daje żądnego efektu + +# [2.250216-2] przem-traditional-photo-v3.scm +* Rezygnacja ze suwaka kontrastu na rzecz zmiennej ( -0.15625 )- możliwe że wersja dla 2.10 wykrzącza się przez zbyt wysoki argument dla kontrastu + +# [2.250216-1] przem-traditional-photo.scm +* Kosmetyka danych suwaka + +# [2.250216-0] przem-traditional-photo.scm +* Dodanie suwaka ze zmianą kontrastu oraz suwaka z balansem koloru + +# [2.250215-2] przem-traditional-photo.scm +* dodanie nowego skryptu korsującego zdjęcie + +# [2.250215-1] przem-apply-sepia.scm - przem-add-background-under-text.scm +* Oba skrypty pracują nieprawidłowo z obrazem w odcieniach szarości + +# [2.250215-0] przem-apply-sepia.scm +* BUG ? Nie potrafi przekonwertować obrazka GRAY na RGB - w przypadku szarego obrazu nakłąda jedynie gradient, bez sepii + +# [1.250214-0] przem-apply-sepia.scm +* Częściowe dostosowanie wtyczki do nowego API z RC2 - póki co przetwarza jedynie kolorowe obrazy + +# [1.250213-0] przem-apply-sepia.scm +* Dodałem lepszy gradient, revers gradientu oraz kształt okręgu + +# [1.250212-0] przem-apply-sepia.scm +* Opruje już jedynie na dwóch odcieniach sepii + +# [1.250212-0] przem-add-background-under-text.scm +* Możliwość zmiany koloru tła i czcionki wewnątrz wtyczki, nie można zmienić czcionki. Potrafi się wykrzaczyć + +# [1.250910-0~alpha] +* Wersja alpha 'przem-add-background-under-text.scm', pokazuje samo tło i w dodatku w złym miejscu + +# [1.250910-2] +* Wersja stabilna 'przem-apply-sepia.scm' dla 3.0 + +# [1.250209-1] +* Wersja stabilna 'przem-add-background-under-text.scm' dla 2.10 + +# [0.250207-0] +* Incjacja skryptu 'przem-apply-sepia.scm' + +# [0.250206-0] +* Incjacja skryptu 'przem-add-background-under-text.scm' diff --git a/script-fu/snapshot/helos-40.scm b/script-fu/snapshot/helos-40.scm new file mode 100644 index 0000000..0d9f917 --- /dev/null +++ b/script-fu/snapshot/helos-40.scm @@ -0,0 +1,70 @@ +(define (script-fu-helios-40-effect + img + drawable + blur-amount + warmth-amount + vignette-strength + bloom-effect) + (gimp-image-undo-group-start img) + + ; Zapisz oryginalną selekcję + (let* ((orig-selection (car (gimp-selection-save img)))) + + ; Dodaj warstwę dla efektów + (let* ((helios-layer (car (gimp-layer-copy drawable FALSE)))) + (gimp-image-insert-layer img helios-layer 0 -1) + (gimp-item-set-name helios-layer "Helios-40 Effect") + + ; Efekt ciepłych tonów + (if (> warmth-amount 0) + (begin + (gimp-color-balance helios-layer 0 TRUE 0 warmth-amount 0) + (gimp-color-balance helios-layer 1 TRUE warmth-amount 0 0))) + + ; Lekkie rozmycie dla charakterystycznego looku + (if (> blur-amount 0) + (plug-in-gauss 1 img helios-layer blur-amount blur-amount 0)) + + ; Zmniejsz kontrast + (gimp-brightness-contrast helios-layer 0 -20) + + ; Dodaj winietowanie + (if (> vignette-strength 0) + (begin + (gimp-selection-all img) + (gimp-selection-feather img 100) + (gimp-selection-invert img) + (gimp-context-set-foreground '(0 0 0)) + (gimp-edit-blend helios-layer 0 0 0 100 0 0 FALSE FALSE 0 0 TRUE + vignette-strength 0 0 0 0) + (gimp-selection-none img))) + + ; Efekt bloom (dla symulacji bokeh) + (if (> bloom-effect 0) + (begin + (let* ((bloom-layer (car (gimp-layer-copy helios-layer FALSE)))) + (gimp-image-insert-layer img bloom-layer 0 -1) + (gimp-layer-set-mode bloom-layer 13) ; Tryb nakładania - Overlay + (plug-in-gauss 1 img bloom-layer (* bloom-effect 3) (* bloom-effect 3) 0) + (gimp-layer-set-opacity bloom-layer 50)))) + + ; Przywróć oryginalną selekcję + (gimp-selection-load orig-selection) + (gimp-image-remove-channel img orig-selection)) + + (gimp-image-undo-group-end img) + (gimp-displays-flush))) + +(script-fu-register "script-fu-helios-40-effect" + "<Image>/Filters/Artistic/Helios-40 Effect..." + "Symuluje charakterystyczną kolorystykę obiektywu Helios-40" + "Your Name" + "Your Name" + "2023" + "RGB*" + SF-IMAGE "Image" 0 + SF-DRAWABLE "Drawable" 0 + SF-ADJUSTMENT "Rozmycie (0-20)" '(3 0 20 1 1 0 0) + SF-ADJUSTMENT "Ciepłe tony (0-100)" '(30 0 100 1 1 0 0) + SF-ADJUSTMENT "Winieta (0-100)" '(40 0 100 1 1 0 0) + SF-ADJUSTMENT "Efekt bloom (0-5)" '(2 0 5 1 1 0 0)) |