;; file KLEIDER/web/src/lockal/selinfo-dir.scm ;; Ausschnitt-Daten aus Bildern in einem Verzeichnis mit Farbinfo ;; 2021-03-26 Herbert Schiemann ;; 2023-10-06 Markierungen (parasite) tag "hardcut" und rot "0", "1", "2", "3" ;; verarbeitet das Bild ;; img das Bild ;; step 0 das Bild ist neu geöffnet ;; 1 das Bild wird geschlossen ;; Ergebnis im Falle (= step 0) ;; #f die Verarbeitung wird nicht automatisch fortgesetzt ;; sonst die Verarbeitung wird automatisch fortgesetzt ;; Ergebnis im Falle (= step 1): '(save note) ;; save #t oder #f : Bild speichern ;; note #f / () / "" : keine note-Datei erstellen, sonst note in Datei schreiben (define (de-herbaer-selinfo-dir image step) (if (= step 0) (begin (gimp-image-detach-parasite image "de-herbaer-selinfo-dir/tag") (gimp-image-detach-parasite image "de-herbaer-selinfo-dir/rot") #f ) (if (= TRUE (car (gimp-image-is-dirty image))) (let ((bounds (gimp-selection-bounds image)) (w (car (gimp-image-width image))) (h (car (gimp-image-height image))) (ly (car (gimp-image-get-active-layer image))) (tag "none") (rot "0") ) (let loop ((pl (cadr (gimp-image-get-parasite-list image)))) (if (pair? pl) (begin (if (string=? (car pl) "de-herbaer-selinfo-dir/tag") (set! tag (caddar (gimp-image-get-parasite image "de-herbaer-selinfo-dir/tag")) ) (if (string=? (car pl) "de-herbaer-selinfo-dir/rot") (set! rot (caddar (gimp-image-get-parasite image "de-herbaer-selinfo-dir/rot")) ))) (loop (cdr pl)) ) ) ) (if (= TRUE (car bounds)) (let* ((x1 (begin (set! bounds (cdr bounds)) (car bounds))) (y1 (begin (set! bounds (cdr bounds)) (car bounds))) (x2 (begin (set! bounds (cdr bounds)) (car bounds))) (y2 (begin (set! bounds (cdr bounds)) (car bounds))) ) (gimp-displays-flush) (list #f ; das Bild wird nicht gespeichert (list ; Info-Datei 'name (car (gimp-image-get-name image)) 'img-size w h 'sel-offset x1 y1 'sel-size (- x2 x1) (- y2 y1) 'red (gimp-drawable-histogram ly 1 0 1) 'green (gimp-drawable-histogram ly 2 0 1) 'blue (gimp-drawable-histogram ly 3 0 1) 'luminance (gimp-drawable-histogram ly 5 0 1) 'tag tag 'rot rot ) ) ) (list #f #f))) (list #f #f))) ; das Bild wird nicht gespeichert ) ; de-herbaer-selinfo-dir ;; tag hardcut (define (de-herbaer-selinfo-dir-hardcut image) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/tag" 0 "hardcut")) ) (script-fu-register "de-herbaer-selinfo-dir-hardcut" _"Ausschnittdaten und Ergänzungen: Markierung hardcut" _"Bildmarkierung für einen \"harten\" Zuschnitt" "Herbert Schiemann" "(C) 2023 Herbert Schiemann, GPL" "2023-10-06" "" SF-IMAGE "image" 0 ) ;; rot 0 (define (de-herbaer-selinfo-dir-rot-none image) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/rot" 0 "0")) ) (script-fu-register "de-herbaer-selinfo-dir-rot-none" _"Ausschnittdaten und Ergänzungen: nicht drehen" _"Bildmarkierung: keine Drehung" "Herbert Schiemann" "(C) 2023 Herbert Schiemann, GPL" "2023-10-06" "" SF-IMAGE "image" 0 ) ;; rot 1 (define (de-herbaer-selinfo-dir-rot-left image) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/rot" 0 "1")) ) (script-fu-register "de-herbaer-selinfo-dir-rot-left" _"Ausschnittdaten und Ergänzungen: links drehen" _"Bildmarkierung: nach links drehen" "Herbert Schiemann" "(C) 2023 Herbert Schiemann, GPL" "2023-10-06" "" SF-IMAGE "image" 0 ) ;; rot 2 (define (de-herbaer-selinfo-dir-rot-turn image) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/rot" 0 "2")) ) (script-fu-register "de-herbaer-selinfo-dir-rot-turn" _"Ausschnittdaten und Ergänzungen: drehen" _"Bildmarkierung: ganz drehen" "Herbert Schiemann" "(C) 2023 Herbert Schiemann, GPL" "2023-10-06" "" SF-IMAGE "image" 0 ) ;; rot 3 (define (de-herbaer-selinfo-dir-rot-right image) (define (de-herbaer-selinfo-dir-rot-turn image) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/rot" 0 "2")) (define (de-herbaer-selinfo-dir-rot-turn image) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/rot" 0 "2")) (gimp-image-attach-parasite image '("de-herbaer-selinfo-dir/rot" 0 "3")) ) (script-fu-register "de-herbaer-selinfo-dir-rot-right" _"Ausschnittdaten und Ergänzungen: rechts drehen" _"Bildmarkierung: nach rechts drehen" "Herbert Schiemann" "(C) 2023 Herbert Schiemann, GPL" "2023-10-06" "" SF-IMAGE "image" 0 ) (define (script-fu-de-herbaer-selinfo-dir dir-in dir-out) (de-herbaer-process-dir dir-in dir-out #t (quote de-herbaer-selinfo-dir)) ) ; script-fu-de-herbaer-selinfo-dir (script-fu-register "script-fu-de-herbaer-selinfo-dir" _"Ausschnittdaten und Ergänzungen" _"Zu allen Bilder des Quellverzeichnisses die Daten eines rechteckigen Ausschnitts mit Farbdaten ausgeben" "Herbert Schiemann" "(C) 2021 Herbert Schiemann, GPL" "2021-03-26" "" SF-DIRNAME "Quell-Verzeichnis" "" SF-DIRNAME "Ziel-Verzeichnis" "" ) (script-fu-menu-register "script-fu-de-herbaer-selinfo-dir" "/_Filters/Verzeichnis") ;; end of file KLEIDER/web/src/lockal/selinfo-dir.scm