select-dir.scm


Beschreibung

Dieses Skript hilft, alle oder viele Bilder in einem Verzeichnis auf einen rechteckigen Ausschnitt zuzuschneiden.

Die Prozedur script-fu-de-herbaer-select-dir erwartet die folgenden Parameter:

dir-in - Quell-Verzeichnis

Der Pfad des Verzeichnisses, in dem die Original-Bilddateien liegen, ohne einen abschließenden Schrägstrich.

dir-out - Ziel-Verzeichnis

Der Pfad des Zielverzeichnisses ohne einen abschließenden Schrägstrich. Im Verzeichnis dir-out werden die zugeschnittenen Bilder unter dem gleichen Dateinamen wie die Originalbilder gespeichert.

replace - Dateien ersetzen

replace kann die Werte TRUE (1) oder FALSE (0) annehmen. Der Wert FALSE bedeutet, dass eine Datei im Verzeichnis dir-in ignoriert wird, wenn im Verzeichnis dir-out eine Datei mit demselben Namen existiert.

Die erste Bilddatei im Quell-Verzeichnis dir-in wird geöffnet. Sie können einen Bereich auswählen. Die Prozedur script-fu-de-herbaer-process-dir (Menüpunkt Filter → Verzeichnis → Weiter) schneidet das Bild auf die Auswahl zu und speichert es im Ziel-Verzeichnis dir-out. Zusätzlich speichert sie eine .scm-Datei mit den Daten des Ausschnitts. Sie schließt das Bild und öffnet das nächste Bild im Quell-Verzeichnis, falls vorhanden. Wenn keine Auswahl existiert, wird im Ziel-Verzeichnis nichts gespeichert.

Einrichtung

Die Dateien process-dir.scm (Quelle) und select-dir.scm sind in ein Gimp-Skript-Verzeichnis zu kopieren. Beim Start von Gimp werden sie automatisch geladen.

Die Ausschnitt-Daten

Die .scm-Datei mit den Daten des Ausschnitts hat den folgenden Aufbau:

(name FILENAME img-size WIDTH HEIGHT sel-offset X Y sel-size SELWIDTH SELHEIGHT)
  
FILENAME

Der Dateiname der Bilddatei in Anführungszeichen

WIDTH

Die Breite des Originalbildes

HEIGHT

Die Höhe des Originalbildes

X

Der Abstand des linken Randes des Ausschnitts vom linken Rand des Originalbildes

Y

Der Abstand des oberen Randes des Ausschnitts vom oberen Rand des Originalbildes

SELWIDTH

Die Breite des Ausschnitts

SELHEIGHT

Die Höhe des Ausschnitts

Alle Maße sind in Pixeln angegeben.

Ein Beispiel für den Dateiinhalt ist

(name "bild.jpg" img-size 3968 2976 sel-offset 1474 814 sel-size 1034 1034)
  

Der Name der .scm-Datei ist der Dateiname des Bildes mit dem Suffix .scm anstelle des Bilddatei-Suffixes oder nach dem Bilddatei-Suffix.

Bildverarbeitung

Die Prozedur script-fu-de-herbaer-select-dir ruft die Prozedur de-herbaer-process-dir aus dem Skript process-dir.scm (Quelle) auf. Die Prozedur de-herbaer-select-dir definiert die Verarbeitung eines einzelnen Bildes. Ihr Parameter sind:

image

Die Kennung des aktuellen Bildes

step
0: Das Bild ist neu geöffnet
1: Das Bild wird geschlossen

Im Falle step = 0 ergibt die Prozedur de-herbaer-select-dir #f. Das Bild bleibt zur interaktiven Bearbeitung geöffnet.

Wenn keine Eingabe erfolgt ist, die das Bild betrifft, oder wenn keine Auswahl existiert, ist das Ergebnis (#f #f). Das Bild wird geschlossen, und es wird keine weitere Datei geschrieben.

Sonst wird das Bild auf das kleinste Rechteck zugeschnitten, das die Auswahl umfasst. Das Ergebnis ist (#t ausschnitt). ausschnitt steht für eine Scheme-Form mit den Daten des Ausschnitts. #t bedeutet, dass das zugeschnittene Bild im Zielverzeichnis gespeichert wird. ausschnitt wird in eine zusätzliche .scm-Datei geschrieben.

Registrierung und Menüeintrag

Die Prozedur script-fu-de-herbaer-select-dir ist in der Gimp-Prozedurdatenbank registriert. Ihr wird der Menüpunkt Filter → Verzeichnis → Ausschnitt auswählen zugeordnet.

Abhängigkeiten

Zu diesem Skript select-dir.scm ist das weitere Skript process-dir.scm (Quelle) erforderlich.