;; file KLEIDER/web/src/lockal/select-dir.scm ;; Ausschnitte aus Bildern in einem Verzeichnis ;; 2019-02-19 Herbert Schiemann ;; 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-select-dir image step) (if (= step 0) #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))) ) (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))) (layer (vector-ref (cadr (gimp-image-get-layers image)) 0))) (gimp-image-resize image (- x2 x1) (- y2 y1) (- x1) (- y1)) (gimp-layer-resize-to-image-size layer) (gimp-displays-flush) (list #t ; das Bild wird 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)))) (list #f #f))) (list #f #f))) ; das Bild wird nicht gespeichert ) ; de-herbaer-select-dir (define (script-fu-de-herbaer-select-dir dir-in dir-out replace) (de-herbaer-process-dir dir-in dir-out (= TRUE replace) (quote de-herbaer-select-dir)) ) ; script-fu-de-herbaer-select-dir (script-fu-register "script-fu-de-herbaer-select-dir" _"Ausschnitt auswählen" _"Aus allen Bilder des Quellverzeichnisses einen rechteckigen Ausschnitt auswählen" "Herbert Schiemann" "(C) 2019 Herbert Schiemann, GPL" "2019-01-10" "" SF-DIRNAME "Quell-Verzeichnis" "" SF-DIRNAME "Ziel-Verzeichnis" "" SF-TOGGLE "Dateien ersetzen" FALSE ) (script-fu-menu-register "script-fu-de-herbaer-select-dir" "/_Filters/Verzeichnis") ;; end of file KLEIDER/web/src/lockal/select-dir.scm