Grafik ohne grafisches Frontend
Zu Befehl: Grafik-Tools aus ImageMagick
Klein gemacht
Wenn Sie gelegentlich die LinuxUser-Web-Seite besuchen, ist Ihnen vielleicht aufgefallen, dass es zu jeder Ausgabe, die wir online stellen, drei Bilder der Titelseite in unterschiedlichen Größen gibt (Abbildung 2).
Auch hier hilft convert: Über seine Option -geometry kann es beim Konvertieren auch gleich die Bildgröße ändern. Die gewünschte Zielgröße gibt man einfach im Format Breite x Höhe an, also z. B.
convert gross.png -geometry 150x200 klein.png
für ein kleines Bild mit bis zu 150 Pixeln in der Breite und 200 Pixeln in der Höhe. Soll convert exakt die angegebene Größe erreichen (und dazu notfalls das Bild auch verzerren), setzt man hinter die Größenangabe noch ein Ausrufezeichen:
convert gross.png -geometry 150x200! klein.png
Das Listing in Kasten 2 verwenden wir in der Redaktion, um die Titelgrafiken für die Web-Seite vorzubereiten. Hier ist die Angabe einer festen Größe (also mit "!") sinnvoll, da so alle Thumbnails die gleiche Größe erhalten und sich beispielsweise hübsch neben- und übereinander anordnen lassen.
Kasten 2: Skript "title-convert"
#!/bin/sh echo converting title: $1 to $2 \(small\) and $3 \(very small\) convert $1 -blur 3 -geometry 217x306! $2 convert $1 -blur 3 -geometry 149x211! $3
Neben der manuellen Verkleinerung von Grafiken bietet convert noch ein Spezial-Feature, das eine Übersicht aller Grafiken erzeugt: Geben Sie in einem Verzeichnis, das nur Bilder enthält, den Befehl
convert 'vid ' directory.png
ein, um eine Übersichtsgrafik wie in Abbildung 3 zu erstellen. Auf weißem Hintergrund sehen Sie unter kleinen Thumbnails jeweils den Dateinamen, die Auflösung und die Dateigröße.
Solche Grafiken können Sie später auch auf einer Web-Seite verwenden, wenn Sie mit Image-Maps arbeiten. Eine entsprechende Map erstellt convert auf Wunsch automatisch: Mit
convert 'vid ' HTML:index.html
erzeugen Sie drei Dateien, *
index.gif ist die Übersichtsgrafik. Den Dateinamen index.gif leitet convert automatisch aus dem Namen der HTML-Datei ab. *
index.html ist eine HTML-Datei, welche die GIF-Grafik einbindet und mit einer passenden Map-Definition ausstattet, so dass man per Klick auf eines der Vorschaubilder zum großen Bild weiter geleitet wird. *
index_map.shtml enthält nur den Abschnitt der Map-Definition aus index.html und eignet sich zum (Server-seitigen) Einbinden in mehrere Web-Seiten.
Kurzinfo
Sehr nützlich ist das Kommando identify, das ebenfalls zum ImageMagick-Paket gehört, aber oft übersehen wird: Es gibt Kurzinformationen zu allen übergebenen Dateien aus, darunter auch die Größe in Pixeln.
$ identify *.png *.jpg manpage.png PNG 512x888 DirectClass 16-bit 37693b 0.1u 0:01 usertitel.png[1] PNG 1118x867 DirectClass 8-bit 304kb 0.1u 0:01 manpage_s.jpg[2] JPEG 185x320 DirectClass 8-bit 14114b 0.0u 0:01 usertitel_s.jpg[3] JPEG 320x248 DirectClass 8-bit 24810b 0.0u 0:01
Auch die Farbtiefe (im Beispiel: 8 oder 16 Bit) erfährt man auf diesem Weg. Dabei ist identify nicht darauf angewiesen, dass Dateien eine passende Endung haben – wenn Sie bei allen Grafiken die Endungen abschneiden, erkennt das Tool den Dateityp trotzdem zuverlässig. Die Größenangaben von identify sind (wie auch bei convert) immer in der Form Breite x Höhe.



