summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2025-02-14 22:07:28 +0100
committerPrzemysław R. Pietraszczyk <przem@prymula.ct8.pl>2025-02-14 22:07:28 +0100
commitd98edec1bbc19469a9e602a4576d9dfe58b8815d (patch)
treedf293e91144352c13e12eda4f4652b30052c0b0d
parent9e81ca9e22cc428a5b2a583f083830beb61669c7 (diff)
przem-apply-sepia-v3.scm-2.250214-0
-rw-r--r--3.0/przem-apply-sepia-v3.scm39
-rw-r--r--changelog.md3
2 files changed, 24 insertions, 18 deletions
diff --git a/3.0/przem-apply-sepia-v3.scm b/3.0/przem-apply-sepia-v3.scm
index 5689358..c7faea3 100644
--- a/3.0/przem-apply-sepia-v3.scm
+++ b/3.0/przem-apply-sepia-v3.scm
@@ -2,16 +2,19 @@
; author: PRP
; licencja: Public Domain
; Gdańsk - 07-02-2025
-; ver. 1.2502013-0 for GIMP 3
+; ver. 1.2502014-0 for GIMP 3
(define (przem-apply-sepia-v3 image drawable value-slider-sepia gradient-reverse gradient-shape)
(let* (
(image-width (car (gimp-image-get-width image)))
(image-height (car (gimp-image-get-height image)))
+ (layer (vector-ref drawable 0))
+ (type (car (gimp-drawable-type-with-alpha layer)))
(center-x (/ image-width 2))
(center-y (/ image-height 2)) ; either is OK
- (sepia-layer (car (gimp-layer-new image image-width image-height RGBA-IMAGE "Sepia Layer" 100 LAYER-MODE-NORMAL)))
- (is-nocolorful (car (gimp-drawable-is-gray drawable))) ; czy obraz jest w odcieniach szarości
+ ;(sepia-layer (car (gimp-layer-new image image-width image-height RGBA-IMAGE "Sepia Layer" 100 LAYER-MODE-NORMAL)))
+ (sepia-layer (car (gimp-layer-new image "Sepia" image-width image-height RGB-IMAGE 100 LAYER-MODE-NORMAL)))
+ ;(is-nocolorful (car (gimp-drawable-is-gray 1 drawable))) ; czy obraz jest w odcieniach szarości
(radius (sqrt (+ (* center-x center-x) (* center-y center-y))))
)
@@ -21,13 +24,14 @@
; jeśli obraz jest szary to konwertuje go na RGB - tak na sztukę
- (if (= is-nocolorful TRUE)
- (gimp-image-convert-rgb image)
- )
+ ;(if (= is-nocolorful TRUE)
+ ; (gimp-image-convert-rgb image)
+ ;)
; Konwersja obrazu do skali szarości
;(gimp-desaturate drawable)
- (gimp-drawable-desaturate drawable DESATURATE-LIGHTNESS)
+ (if (= type RGBA-IMAGE)
+ (gimp-drawable-desaturate layer DESATURATE-LIGHTNESS))
; Dodanie koloru sepii
@@ -35,11 +39,11 @@
(gimp-context-push)
- (gimp-context-set-foreground (list 112 66 20)) ; sepia ciemniejszy
- (gimp-context-set-background (list 233 213 186)) ; sepia jasniejszy
+ (gimp-context-set-foreground '(112 66 20)) ; sepia ciemniejszy
+ (gimp-context-set-background '(233 213 186)) ; sepia jasniejszy
- ;(gimp-context-set-foreground (list 112 66 20)) ; ciemniejsza
- ;(gimp-context-set-background (list 210 180 140)) ; jasniejsza
+ ;(gimp-context-set-foreground '(112 66 20)) ; ciemniejsza
+ ;(gimp-context-set-background '(210 180 140)) ; jasniejsza
;(plug-in-checkerboard #:run-mode RUN-NONINTERACTIVE
; #:image image
; #:drawables (vector drawable)
@@ -86,18 +90,17 @@
(gimp-displays-flush)
) )
-(script-fu-register "przem-apply-sepia-v3"
- _"Apply a sepia effect to the image"
+(script-fu-register-filter "przem-apply-sepia-v3"
+ _"_Apply a sepia effect to the image"
_"Tworzy obraz sepii"
"Przemyslaw R. Pietraszczyk"
"Public Domain"
"2025-02-07"
"RGB* GRAY*"
- SF-IMAGE "Image" 0
- SF-DRAWABLE "Drawable" 0
- SF-ADJUSTMENT "Sepia intensity" '(50 0 100 1 10 0 0) ; Suwak poziomy
- SF-TOGGLE "Gradient reverse" FALSE
- SF-TOGGLE "Shape" TRUE
+ SF-ONE-OR-MORE-DRAWABLE
+ SF-ADJUSTMENT _"Sepia intensity" '(50 0 100 1 10 0 0) ; Suwak poziomy
+ SF-TOGGLE _"Gradient reverse" FALSE
+ SF-TOGGLE _"Shape" TRUE
)
diff --git a/changelog.md b/changelog.md
index c1b76e6..53c4b21 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,6 @@
+# [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