Würdiger Rahmen
Jhead, Convert & Montage
Individuell beschriften
Den Parameter zum Setzen des Etiketts (-label) können Sie nicht nur automatisiert auf Schnappschüsse anwenden, sondern auch zur individuellen Beschriftung der Bilder einsetzen. Dazu definieren Sie vor jedem Dateinamen jeweils über -label eine Beschreibung für das Foto. Enthält diese Leer- oder Sonderzeichen, schließen Sie sie wie gewohnt in Anführungszeichen ein. Das Attribut \n sorgt wiederum für einen Zeilenumbruch, so dass sich die Beschreibungen gegenseitig nicht überlappen, wenn diese einmal etwas länger ausfallen (Listing 4, Zeile 1). Bei Bedarf verknüpfen Sie die Formatierungszeichen und den eigenen Text (Listing 4, Zeile 2).
§§donumber $ montage -label 'Schloss in\n Durham' IMG_0231.JPG -label 'Kathedrale\n in Durham' IMG_0234.JPG … $ montage -label 'Schloss in\n Durham\n%t\n%b Bytes' IMG_0231.JPG -label 'Kathedrale\n in Durham\n%t\n%b Bytes' IMG_0234.JPG
Eine andere Möglichkeit ist, die Bilder zunächst einzeln mit Kommentaren zu versehen. Dazu verwenden Sie wiederum Convert zusammen mit dem Parameter -comment, einer Beschreibung und dem neuen Dateinamen:
$ convert -comment 'Schottische §§ Flagge' IMG_0279.JPG IMG_0279_C.§§ JPG
Achten Sie auch bei dieser Auszeichnungsmethode darauf, dass Sie für lange Beschriftungen über \n Zeilenumbrüche einfügen. Haben Sie alle Schnappschüsse auf diese Weise beschriftet, teilen Sie Montage anschließend mittels -label '%c' '*_C.JPG' mit, dass die Etiketten für die Ausstellungsstücke die vorher gesetzten Kommentare sein sollen.
Montage bietet noch jede Menge weitere Optionen: Sofern Sie eine neuere Imagemagick-Version (ab 6.3.2) verwenden, können Sie der Galerie beispielsweise einen pfiffigen Polaroid-Look verpassen (siehe Kasten "Montage für Fortgeschrittene"). Weitere Anwendungsbeispiele mit ausführlichen Erklärungen zeigt darüber hinaus die (englischsprachige) Imagemagick-Website [5].
Vom Entwurf zum Drehbuch
Alle hier gezeigten Befehle lassen sich mit wenig Aufwand zu einem kleinen Shell-Skript zusammensetzen, das Sie in Listing 5 sehen. Als zusätzliches Feature testet das Skript am Anfang, ob ein Verzeichnis namens small_pics und ein Verzeichnis copy_pics unterhalb von small_pics existiert: falls ja, läuft das Skript nur weiter, wenn Sie es zusammen mit der Option -overwrite aufgerufen haben. Andernfalls erhalten Sie den Hinweis, dass das Verzeichnis schon existiert, und das Skript bittet um Bestätigung über die Aufrufoption -overwrite.
Das Skript findet beispielsweise Platz in einem Ordner namens bin im eigenen Home-Verzeichnis. Nachdem Sie es über chmod +x ~/bin/galerie.sh ausführbar gemacht haben, rufen Sie es im Verzeichnis mit den Originalbildern, die ins Album sollen, über ~/bin/galerie.sh auf, und kurze Zeit später ist die HTML-Galerie fertig.
§§nonumber
#!/bin/sh
# galerie.sh zum Erzeugen von Fotogalerien
if [ -d small_pics -o -d small_pics/copy_pics ];
then
if [ "$1" != "-overwrite" ];
then
echo "Verzeichnis(se) schon vorhanden – bitte starten Sie das Skript mit der Option '-overwrite'. Achtung: Überschreibt vorhandene Bilder!"
exit 1
fi
fi
mkdir -p small_pics/copy_pics
for i in *.JPG
do
convert -resize 800x800 "$i" "small_pics/$i"
done
cd small_pics
for i in *.JPG
do
convert -font helvetica -pointsize 40 -draw "gravity south fill black text 0,12 'Copyright Heike Jurzik' fill white text 1,11 'Copyright Heike Jurzik'" "$i" "copy_pics/$i"
done
cd copy_pics
montage -label '%t\n%b Bytes' -size 128x *.JPG -title 'Urlaub in England/Schottland' -tile 5x -geometry +5+5 -frame 5 -mattecolor "#3FCA3F" -shadow index.html
Montage für Fortgeschrittene
Neuere Imagemagick-Versionen (ab 6.3.2) enthalten das so genannte Polaroid-Feature. Der gleichnamige Aufrufparameter (+polaroid respektive -polaroid, je nach Einsatzzweck) verpasst Fotos einen schicken Polaroid-Look. Der Befehl
$ convert bild.jpg +polaroid bild.png
schließt das Bild in eine Art Papierrahmen ein und dreht es um einen zufälligen Wert. Daneben können Sie über -bordercolor die Rahmenfarbe und über -background einen Farbton für den Schatten festlegen:
$ convert bild.jpg -bordercolor white -background black +polaroid bild.png
Es ist wichtig, für das neue Polaroid-Bild ein Format zu wählen, das Transparenz darstellen kann (zum Beispiel PNG oder GIF).
Wie bereits erwähnt, kippt der Schalter die Bilder um einen zufälligen Wert, wenn er mit einem Pluszeichen versehen wird. Das ist dann praktisch, wenn Sie eine ganze Reihe von Fotos in einem hübschen Index mit Polaroid-Effekt anordnen wollen. Alternativ erhalten Sie über ein vorangestelltes Minuszeichen und einen darauffolgenden Wert die volle Kontrolle. So kippt die Angabe -polaroid 90 das Bild beispielsweise um 90 Grad.
Der Polaroid-Parameter leistet gute Dienste, wenn Sie mit Montage eine Galerie fürs Web erstellen. Setzen Sie die Option mit einem vorangestellten Pluszeichen ein, dreht das Programm jedes Foto um einen anderen Wert:
$ montage -size 128x *.JPG -tile 4x -geometry +1+1 -shadow +polaroid index.html
Die aus diesem Befehl resultierende Galerie im Polaroid-Look sehen Sie in Abbildung 5.
Glossar
Exif
Exchangeable Image File Format. In diesem Format speichern Digitalkameras zusätzliche Informationen zu den Bildern. Neben Angaben zu Blende, Verschlusszeit oder zum Einsatz des Blitzes umfassen die Exif-Daten auch Informationen zur Orientierung, also um wie viel Grad die Kamera während der Aufnahme gedreht wurde.
Image Map
So genannte Verweis-sensitive Grafiken, in denen ein Benutzer auf einen definierten Bereich klicken kann und damit einem Verweis (Link) folgt. Der Bereich, der den Link enthält, kann wahlweise als Rechteck, Kreis oder Polygon definiert sein. Die Koordinaten, welche die Bereiche eingrenzen, werden pixelgenau definiert.
[1] Jhead-Homepage: http://www.sentex.net/~mwandel/jhead/
[2] Ein-/Ausgabeumleitung: Heike Jurzik, "Datenfluss", LinuxUser 07/2007, S. 94, http://www.linux-user.de/ausgabe/2007/07/094-zubefehl/
[3] HTML-Tutorial: http://de.selfhtml.org/
[4] Formatoptionen in Imagemagick: http://www.imagemagick.org/script/escape.php
[5] Verwendung der Imagemagick-Tools: http://www.imagemagick.org/Usage/



