Tutorial: Skript-Fu: Mehrere Bilder skalieren
-
1
Zuerst sollte erwähnt werden, dass diese Aufgabe (mehrere Bilder automatisch verkleinern) auch ohne eigenes Skript-Fu gelöst werden kann. Dazu benötigt man ImageMagick, ein Programm, welches bei den meisten Linux-Distributionen mitgeliefert wird und über den Paketmanager (z.B. apt oder Synaptic bei Ubuntu) installiert werden kann.
ImageMagick stellt verschiedene Programme zur Verfügung, mit denen Bilder in verschiedenster Weise bearbeitet werden können. Mit Hilfe der Shell (hier: bash) können mehrere Bilder auf einmal bearbeitet werden.
Beispiel:
mkdir small
for f in *.jpg
do convert $f -resize 1024×768 small/$f.gif
doneDieses Skript legt 1) ein Verzeichnis “small” an, geht 2) alle *.jpg-Dateien im aktuellen Verzeichnis durch und führt 3) für jede Datei das convert-Programm aus, der eine auf 1024×768 verkleinerte Version des Bildes im Verzeichnis “small” abelegt.
-
2
Für echte GIMP-Benutzer ist es natürlich trotzdem erforderlich, dass auch im GIMP mehrere Bilder auf einmal verkleinert werden können.
Dazu kann man folgendes Skript-Fu verwenden:
[code]
(define (script-fu-batch-resize globexp newx newy)
(define (resize-img n f)
(let* ((fname (car f))
(img (car (gimp-file-load 1 fname fname))))
(gimp-image-undo-disable img)
(gimp-image-scale img newx newy 0 0)
(gimp-file-save 1 img (car (gimp-image-get-active-drawable img)) fname fname)
(gimp-image-delete img)
)
(if (= n 1) 1 (resize-img (- n 1) (cdr f)))
)
(set! files (file-glob globexp 0))
(resize-img (car files) (car (cdr files)))
); Im GIMP und im Menü registrieren
(script-fu-register “script-fu-batch-resize”
_"_Mehrere Bilder verkleinern…"
“Mehrere Bilder auf einmal auf die gleiche Größe bringen”
“Richard Hirner”
“2006, Richard Hirner”
“Sep 7, 2006”
""
SF-STRING “Zu konvertierende Dateien” “/pfad/zu/bildern/*.jpg”
SF-VALUE “Neue horizontale Größe” “1280”
SF-VALUE “Neue vertikale Größe” “1024”)
(script-fu-menu-register “script-fu-batch-resize”
“/Xtns/Misc”)
[/code]Für GIMP 2.2 muss die Registrierung leicht geändert werden.
Die einzigen (für Programmierer) interessanten Stellen im Skript sind die GIMP-Funktion file-glob und die Scheme-Iteration der Liste durch die endstämmig-rekursive Funktion resize-img.
Um das Skript zu verstehen, sind Scheme-Grundlagen nötig; siehe auch das Tutorial “Skript-Fu-Einführung” (Link rechts oben).
-
3
Am einfachsten ist es, die Datei batch-resize.scm-2.4.scm bzw. batch-resize-2.2.scm (Download-Links rechts oben) einfach herunterzuladen und in das GIMP-Skript-Verzeichnis zu kopieren. In Linux findet man dieses Verzeichnis im Home-Verzeichnis unter “~/.gimp-2.2” bzw “~/.gimp-2.3”; in Windows am besten ins globale Verzeichnis nach “Programme\Gimp-2.x\share\gimp\2.0\scripts”
Beim nächsten Start von GIMP bzw. nach einem “Skripte auffrischen” ist das Skript unter Xtns / Skript-Fu / Verschiedenes / Mehrere Bilder verkleinern… (2.2) bzw. Xtns / Verschiedenes / Mehrere Bilder verkleinern… (2.4) zu finden.
-
4
Nun einfach den Pfad zu den Bildern und die gewünschte Größe eingeben und auf OK klicken.
Viel Spaß!
Kommentare
Hier kannst du Kommentare, Fragen und Anregungen loswerden. Der Autor und die anderen Benutzer können deinen Beitrag sehen und darauf antworten.
Natürlich kannst du auch im Chat fragen.
Abo-Verwaltung
Diese Funktion steht nur angemeldeten Benutzern zur Verfügung.
Benutzerbewertung
Dieses Thema (Skript-Fu: Mehrere Bilder skalieren) wurde insgesamt mit 5,0 von 5 Punkten bewertet.
New comments are disabled because of spam.