summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--script-fu/3.0/przem-true-cyjanotype-v3.scm29
-rw-r--r--script-fu/changelog.md4
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