Resource icon

[Image Magick] ImageMagick Tutorial

ImageMagick ist ein Bildbearbeitungstool für die Kommandozeile.
Bildbearbeitung in der Kommandozeile, wie geht das denn?
Es geht besser als "wie" man denkt.
Der wichtigste Befehl bei ImageMagick ist der convert-Befehl
Bash:
convert -option QuellBild ZielBild

Dabei ist es erlaubt, als QuellBild und Zielbild den gleichen Namen anzugeben, das Bild wird dann durch die modifizierte Version ersetzt.
Beispiele:
Bilder von einem Format in ein anderes konvertieren.
Bash:
convert Bild.jpg Bild.png
Eine übersicht aller von IM unterstüzten Formate findet man unter:
Für die folgenden Beispiele habe ich dieses Bild verwendet:

bild_test-jpg.64048


Man kann ein Bild verkleinern:
Bash:
convert -resize 50% Bild.jpg Bild_klein.jpg

bild_klein-jpg.64049


es beliebig rotieren:
Bash:
convert -rotate 90 Bild.jpg Bild_90grad.jpg

bild_test_rot90-png.64050


oder es zurecht schneiden:
Bash:
convert -crop 50x50+100+100 Bild.jpg Bild_crop.jpg
Dieser letzte Befehl schneidet aus dem Bild einen 50x50 pixel großen Ausschnitt aus. +100+100 bedeutet, das der Ausschnitt 100 px von der linken, oberen Ecke beginnt.

bild_crop-jpg.64052


Convert bietet noch viel mehr Möglichkeiten, die auf der ImageMagick Webseite sehr gut erklärt werden. Ich kann in diesem Tutorial nicht alle vorstellen, statt dessen möchte ich auf das eingehen, was ImageMagick meiner Meinung nach zum ultimative Bildtool macht: Skripting. In den Beispielen oben wurde immer nur eine Operation angewandt und ein Bild manipuliert. Das ist etwas, das man mit Photoshop oder Gimp etc. fast genauso schnell kann.
Interessant wird es, wenn man Kommandos kombiniert:
Bash:
convert -rotate 35 -resize 600x480 Bild.jpg Bild.png

In diesem Beispiel wird das Bild um 35 Grad im Uhrzeigersinn gedreht, auf eine Größe von 600x480 Pixeln gebracht und in das PNG Format gebracht. Ist das Bild größer als die neue Vorgabe, wird es verkleinert, ist es kleiner, wird es vergrößert. IM versucht dabei, das Seitenverhältnis beizubehalten. Das fertige Bild muss deshalb nicht exakt der Vorgabe entsprechen, es ist jedoch nie größer als die angegebene Größe. Für mehr Details siehe: http://www.imagemagick.org/Usage/resize/ Mit einem Shellbefehl läßt sich dies nun auf mehrer Bilder auf einmal anwenden:
Bash:
for i in *jpg
  do convert -rotate 35 -resize 600x480 \
       +repage $i `basename $i jpg`png
done

Hier wird der Befehl auf alle Jpegs in einem Ordner angewendet. Der Befehl `basename $i jpg`png ersetzt für das Zielbild die Endung jpg durch png. Auf diese Weise lassen sich zum Beispiel Thumbnails von allen Bildern in einem Ordner erstellen. (Convert hat eine spezielle Option für Thumbnails, es geht aber auch mit resize)
Mit convert kann man auch neue Bilder erzeugen:
Bash:
convert -background blue -fill white -font Helvetica -size 100x100 label:100x100 placeholder100x100.gif

Mit einem kleinen Skript kann man so eine ganze Reihe von Platzhaltergrafiken erzeugen.
Bash:
for i in $(seq 1 8)
   do
     for j in $(seq 1 8)
       do
          x=`expr $i \* 100`
          y=`expr $j \* 100`
          convert -background blue -fill white -font Helvetica -size $x\x$y      label:$x\x$y placeholder$x\x$y.gif
echo $x\x$y
       done
    done
Ein Favicon erzeugen:
Bash:
#!/bin/bash
#Erzeugt favicon aus beliebigem Bild,
#erfordert ImageMagick http://www.imagemagick.org
# Aufruf: favicon.sh Bildname
for i in $(seq 4 8)
do
x=`echo "2^$i"|bc`
y=$x
convert -resize $x\x$y! $1 favicon$x.png
done
convert favicon*.png -colors 256 -flatten -transparent white favicon.ico
Mit IM und dem pdf-Toolkit http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ kann man Vorschaubilder für die Titelseiten aus PDF's erzeugen:
Bash:
#!/bin/bash
for i in *pdf
do
pdftk A=$i.pdf cat A1 output front`basename $`
convert front$i `basename $i pdf`png
done
Programmschnittstellen: ImageMagick bietet Schnittstellen zu verschiedenen Programmier und Skriptsprachen, z.B. PHP. http://php.net/manual/en/book.imagick.php Dies ist nützlich um Fotos, die von Usern hochgeladen wurden, zu bearbeiten. Man kann so serveseitig Forumsavatare auf eine einheitliche Größe und ein einheitliches Bildformat bringen, oder hochgeladene Bilder automatisch mit einem Wasserzeichen versehen. Hier ist ein Beispiel zu finden, wie man mit ImageMagick captchas erstellt: http://www.fmwconcepts.com/imagemagick/captcha/index.php
  • Bild_test.jpg
    Bild_test.jpg
    107,8 KB · Aufrufe: 5.010
  • Bild_klein.jpg
    Bild_klein.jpg
    14 KB · Aufrufe: 4.957
  • Bild_test_rot90.png
    Bild_test_rot90.png
    224,6 KB · Aufrufe: 5.049
  • placeholder100x100.gif
    placeholder100x100.gif
    1,7 KB · Aufrufe: 451
  • Bild_crop.jpg
    Bild_crop.jpg
    8,5 KB · Aufrufe: 5.025
  • katzen.png
    katzen.png
    102,6 KB · Aufrufe: 460
Autor
ikosaeder
Aufrufe
4.920
First release
Last update
Bewertung
3,50 Stern(e) 2 Bewertungen

More resources from ikosaeder

Zurück