Inhaltsverzeichnis
imagemagick
Beispiele
Einfache Anzeige des Bildes
display Pinguine.jpg
Konvertieren
convert Falkland_Islands_Penguins_36.jpg Pinguine.png
Soll das Seitenverhältnis ignoriert werden, ist hinter der Größe ein »!« anzugeben. Damit wird das Bild verzerrt.
convert Falkland_Islands_Penguins_36.jpg -scale 800x600! Pinguine.jpg
Größe ändern (resize)
convert image.jpg -resize 400x400 -quality 85 image_resize.jpg
Bild skalieren
convert Falkland_Islands_Penguins_36.jpg -scale 800x600 Pinguine.jpg
Rahmen ergänzen:
convert Pinguine.jpg -border 10 Pinguine-Rahmen.jpg
Eine andere Farbe lässt sich mit -bordercolor angeben:
convert Pinguine.jpg -bordercolor blue -border 10 Pinguine-Rahmen.jpg
Ein 3D-Rahmen lässt sich mit -frame erzeugen, die zugehörige Farbe ist -mattecolor:
convert Pinguine.jpg -mattecolor blue -frame 30x20+7+5 Pinguine-Rahmen.jpg
Text ergänzen
convert -pointsize 16 label:Text Text.png
Der Text lässt sich auch direkt ans Bild anfügen:
convert Pinguine.jpg -pointsize 16 label:Text -gravity south -append Pinguine-Text.jpg
Das Ganze lässt sich noch ausbauen:
Dabei werden mit -background und -fill die Farben für den Hintergrund und die Schrift angegeben. Weitere Beispiele zur Texterzeugung finden sich auf der Webseite des Projekts.
Mit einer Schleife können so alle Bilder in einem Verzeichnis mit ihren Namen ergänzt werden:
for f in *.jpg; do convert "$f" -mattecolor blue -frame 5x5+0+5 -pointsize 16 -background blue -fill white label:"$f" -frame 0x5 -gravity south -append -frame 15x10+5+0 Bild_mit_Namen/"$f"; done
Abgerundete Ecken
In diesem Beispiel wird eine Maske erzeugt, die anschließend über das Bild gelegt wird.
convert -size 512x340 xc:white -fill black -stroke black -draw "roundrectangle 0,0 512,340 40,40" Maske.png
Wie im vorigen Textbeispiel wird die Grafik neu erzeugt. Dazu wird mit -size die Größe des zu erzeugenden Bildes angegeben (mittels identify ermittelt). Mit xc:white wird ein Bild mit weißem Hintergrund erzeugt. Anschließend werden Füll- und Malfarbe auf schwarz gesetzt und in -draw wird ein Zeichenbefehl, hier ein abgerundetes Rechteck, angegeben. Das Bild wird nun als PNG-Datei gespeichert (um keinen Qualitätsverlust zu erleiden). Im nächsten Schritt wird das Foto entsprechend der gerade erzeugten Maske verändert:
convert Pinguine.jpg Maske.png -compose lighten -composite Pinguine-abgerundet.jpg
Das Erzeugen einer temporären Masken-Datei ist nicht nötig, sie hilft aber beim Nachvollziehen der einzelnen Schritte. Die Maske kann direkt in einem Befehlsblock erzeugt werden:
convert Pinguine.jpg \( -size 512x340 xc:white -fill black -stroke black -draw "roundrectangle 0,0 512,340 40,40" \) -compose lighten -composite Pinguine-abgerundet.jpg
Ein Befehlsblock wird mit runden Klammern definiert, der Backslash wird für die Shell benötigt. Der Block in den runden Klammern wird für sich ausgeführt, das Resultat wird wie ein Bild weiterverarbeitet.
3D-Effekt
convert Pinguine.jpg -raise 10 Pinguine-erhoben.jpg
Diesen kann man noch ausbauen. Zuerst wird eine Maske erzeugt:
convert Pinguine.jpg -fill gray50 -colorize 100% -raise 10 -normalize -blur 0x5 Maske.png
Um den Aufruf besser zu verstehen, hilft es, ihn schrittweise nachzuvollziehen. Mit -fill gray50 -colorize 100% wird das Ausgangsbild mit grau übermalt. Es wird somit eine graue Fläche in der Größe des Ausgangsbildes erstellt. Mit -raise 10 wird der einfache 3D-Effekt erzeugt. Die Farben werden mit -normalize angepasst, so dass die hellste Farbe weiß ist und die dunkelste schwarz. Nun werden mit -blur 0x5 die Farben verwischt. Anschließend wird die Helligkeit des Bildes entsprechend der Maske angepasst:
convert Pinguine.jpg Maske.png -compose hardlight -composite Pinguine-3D.jpg
Abgerissener Rand
Einen Effekt wie bei einem abgerissen Bild erreicht man mit der folgenden Maske:
convert Pinguine.jpg -fill black -colorize 100% -virtual-pixel white -spread 20 -blur 0x5 -threshold 50% -spread 20 -blur 0x3 -threshold 50% -spread 1 -blur 0x1 Maske.png
Auch hier empfiehlt es sich, die Schritte einzeln nachzuvollziehen. Analog zu obigem Beispiel wird mit -fill black -colorize 100% eine schwarze Fläche erzeugt. Die Option -virtual-pixel white setzt die Farbe außerhalb des Bildes auf weiß. -spread 20 verteilt die Pixel zufällig (einfach mal an Pinguine.jpg ausprobieren). Bei der schwarzen Fläche hat dies nur einen Effekt am Rand, dort werden schwarze Pixel gegen die weißen außerhalb eingetauscht. Mit -blur 0x5 wird verwischt und mit -threshold 50% werden die Pixel abhängig von ihrer Helligkeit in schwarz beziehungsweise weiß konvertiert. Anschließend wiederholen: Pixel zufällig verteilen, verwischen und auf schwarz/weiß setzen. Die Option -spread 1 -blur 0x1 führt zu einem rauhen Rand. Nun wird das Bild entsprechend der Maske aufgehellt: weiße Stellen aus der Maske werden im Bild weiß:
convert Pinguine.jpg Maske.png -compose lighten -composite Pinguine-abgerissen.jpg
gif aus Einzelbildern
convert -delay 1x5 -loop 0 images_dir/out*.gif animation.gif
Bilder zusammenfügen
Vertikal zusammenfügen
convert 1.png 2.png 3.png -append result/result-sprite.png
PDF aus Bildern erstellen
convert quelle.png ziel.pdf
Wildcard nutzen:
convert *.jpg ziel.pdf
Druckfertiges Dokument aus Bildern in A4 erstellen:
convert *.* -compress jpeg -resize 1240:1753 -units PixelsPerInch -density 150:150 -page a4 multipage.pdf
Ggf. -resize weglassen:
convert *.* -compress jpeg -units PixelsPerInch -density 150:150 -page a4 multipage.pdf
Bilder aus PDF extrahieren
pdfimages -j quelle.pdf zielverzeichnis
Informationen über Bilder anzeigen
