Sobald du dich entschieden hast in welcher Auflösung das in DIN A4 umgesetzt wird, dann kannst du das eigentlich sehr bequem mit der Aufteilung für 6 Bilder je Seite berechnen - hier ein einfacher DPI - Pixel Converter, der dabei recht hilfreich sein kann.
Für alle Vorschläge die folgen BITTE eine Sicherungskopie der Bilder anlegen für den Fall, dass etwas schief geht.
Ein Beispiel für DIN A4 bei 300ppi (2480x3508px):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | #!/bin/bash
#Arbeitsverzeichnisse erstellen
mkdir montages finals
#einen weißen Hintergrund erstellen um abschließend die richtige Bildgröße für DIN A4 zu erreichen
convert -size 2480x3508 xc:white montages/canvas.jpg
#alle JPGs im Verzeichnis in einem 2x3 Raster anordnen
montage -filter Lanczos -tile 2x3 -geometry 1050x1050+59+59 *.jpg montages/montage-%03d.jpg
#die Bilder der vorherigen Ausgabe zentriert mit dem Hintergrundbild kombinieren
for file in montages/montage-*.jpg
do
composite -gravity center "$file" montages/canvas.jpg finals/finals-"${file##*-}"
done
#den überflüssigen Arbeitsordner montages/ wieder löschen
rm -R montages/
#sich über die Resultate der Befehle im Verzeichnis finals/ freuen.
|
Die Bildunterschriften kann man bei Bedarf z.B. mit GIMP jetzt von Hand nachträglich in die fertigen Collagen einfügen. Oder automatisch z.B. aus dem Dateinamen erstellen, aus den Metadaten (soweit vorhanden) oder aus einer Textdatei, in der Dateiname einer Beschreibung zugeordnet ist (z.B. DATEI:BESCHREIBUNG), abgreifen. Das würde dann einige weitere Schritte und einen erweiterten montage
-Befehl benötigen…
Vorhandene Textdatei bildbeschreibungen.txt für BILD-1.jpg und BILD-2.jpg im gleichen Verzeichnis wie die JPGs
BILD-1:Ich bin das erste Bild
BILD-2:Ich bin das zweite Bild
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 | #!/bin/bash
#Arbeitsverzeichnisse erstellen
mkdir comments montages finals
#für alle JPGs im Verzeichnis eine kommentierte Kopie mit entsprechener Bildunterschrift
#im Verzeichnis comments/ anlegen
for file in *.jpg
do
$bildunterschrift="$(sed -n "/"${file%.*}"/ s/^.*://p" bildbeschreibungen.txt)"
convert -comment "$bildunterschrift" "$file" comments/"$file"
done
#einen weißen Hintergrund erstellen um abschließend die richtige Bildgröße für DIN A4 zu erreichen
convert -size 2480x3508 xc:white montages/canvas.jpg
#alle kommentierten JPGs aus dem Verzeichnis comments/ in einem 2x3 Raster anordnen
#und im Verzeichnis montages/ speichern
montage -pointsize 24 -font /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf -label '%c' \
-filter Lanczos -tile 2x3 -geometry 1000x1000+59+59 comments/*.jpg montages/montage-%03d.jpg
#die Bilder der vorherigen Ausgabe zentriert mit dem Hintergrundbild kombinieren
for file in montages/montage-*.jpg
do
composite -gravity center "$file" montages/canvas.jpg finals/finals-"${file##*-}"
done
#die überflüssigen Arbeitsordner comments/ und montages/ wieder löschen
rm -R comments/ montages/
|
Das sollte es im Großen und Ganzen sein. In meiner Testumgebung funktionierte das erwartungsgemäß. Die offizielle Anleitung von ImageMagick beschreibt diesen Anwendungsfall im Abschnitt Montage, Array of Images ausgiebig.
Ich hoffe, das hilft dir weiter. Ansonsten, lass von dir hören.