diff options
| author | Przemysław <przem@prymula.ct8.pl> | 2025-11-04 21:23:48 +0100 |
|---|---|---|
| committer | Przemysław <przem@prymula.ct8.pl> | 2025-11-04 21:23:48 +0100 |
| commit | d7df20e67e677734cf79723262fe305fcf1de9a7 (patch) | |
| tree | 2afe7a534b75fff6e227a7e0d98871750dc9dfde | |
| parent | e964ead5218589ccf84a2c6403d86db1786961c3 (diff) | |
| -rw-r--r-- | script-fu/3.0/przem-true-cyjanotype-v3.scm | 29 | ||||
| -rw-r--r-- | script-fu/changelog.md | 4 |
2 files changed, 20 insertions, 13 deletions
diff --git a/script-fu/3.0/przem-true-cyjanotype-v3.scm b/script-fu/3.0/przem-true-cyjanotype-v3.scm index 41fd752..c67476f 100644 --- a/script-fu/3.0/przem-true-cyjanotype-v3.scm +++ b/script-fu/3.0/przem-true-cyjanotype-v3.scm @@ -2,9 +2,9 @@ ; author: PRP
; licencja: Public Domain
; Gdańsk - 14-10-2025
-; ver. 2.251014-2
+; ver. 2.251104-1
-(define (przem-true-cyjantype-v3 image drawable black normalize value-blue invert replace)
+(define (przem-true-cyjantype-v3 image drawable black normalize value-blue invert replace tone-curve)
(let* ((gradient-layer 0)
(type-layer (vector-ref drawable 0))
(mask (car (gimp-channel-new image "Engraving Mask" (car (gimp-image-get-width image)) (car (gimp-image-get-height image)) black '(0.4 0.4 0.2 0.0 0.0 0.0 0.0 0.0 0.0))))
@@ -17,11 +17,12 @@ ;; 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 image))
+ (gimp-image-convert-rgb image))
; Konwersja obrazu do skali szarości
(if (= type RGB-IMAGE)
- (gimp-drawable-desaturate type-layer DESATURATE-LIGHTNESS))
+ (gimp-drawable-desaturate type-layer DESATURATE-LIGHTNESS)
+ )
; dla obrazów przestrzeni RGB i Gray, utworzenie nowej warstwy, dopiero po kowersji na rgb
@@ -35,12 +36,6 @@ (gimp-image-insert-layer image gradient-layer 0 -1)
- (let* ((curves-layer (car (gimp-layer-copy gradient-layer TRUE)))
- (gimp-drawable-curves-spline curves-layer HISTOGRAM-VALUE 10 #(0 0 32 40 128 140 220 230 255 255))
- (gimp-layer-set-opacity curves-layer 100)
-
- ))
-
(gimp-context-set-gradient-reverse gradient-reverse)
(gimp-drawable-edit-gradient-fill gradient-layer
GRADIENT-LINEAR 0
@@ -48,7 +43,17 @@ TRUE
0 0 0 0)
(gimp-layer-set-opacity gradient-layer value-blue)
-
+
+ ; w przeciwieństwie do wer. 2.10 krzywe tonalne działają inaczej
+ (if (= tone-curve TRUE)
+ (let* ((curves-layer (car (gimp-layer-copy gradient-layer TRUE)))
+ ;(gimp-drawable-curves-spline curves-layer HISTOGRAM-VALUE 10 #(0 0 32 40 128 140 220 230 255 255))
+ ; nie trzeba już deklarować długości vektora
+ (gimp-drawable-curves-spline curves-layer HISTOGRAM-VALUE #(0 0 (/ 32 255) (/ 40 255) (/ 128 255) (/ 140 255) (/ 220 255) (/ 230 255) (/ 255 255) (/ 255 255)))
+ )
+ (gimp-image-insert-layer image curves-layer 0 -1)
+ (gimp-item-set-visible curves-layer TRUE)
+ ))
(if (= invert TRUE)
(gimp-drawable-invert type-layer FALSE))
@@ -86,6 +91,8 @@ SF-ADJUSTMENT "Blue intensity" '(50 0 100 1 10 0 0)
SF-TOGGLE "Invert colors" FALSE
SF-TOGGLE "Replace black" FALSE
+ SF-TOGGLE "Tone Curve" TRUE
+
)
(script-fu-menu-register "przem-true-cyjantype-v3"
diff --git a/script-fu/changelog.md b/script-fu/changelog.md index 169dded..4806c63 100644 --- a/script-fu/changelog.md +++ b/script-fu/changelog.md @@ -1,5 +1,5 @@ -# [2.251014-2] przem-true-cyjanotype-v3.scm -* Poprawiłem inwersjie kolorów, skrypt nawiązuje do wersji 2.10. Jednak zachowuje się w inny sposób +# [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 |
