Aktionen

ImageMagick

Aus exmediawiki

Version vom 4. Juli 2019, 23:25 Uhr von C.heck (Diskussion | Beiträge) (→‎identify)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Beschreibung

Das Paket ImageMagick enthält sowohl mehrere Tools für die Kommandozeile, als auch eine für viele Programmiersprachen verfügbare Programmbibliothek, um die verfügbaren Funktionen direkt in einem Programm zu verwenden.

Die von ImageMagick beherrschten Funktionen strecken sich vom Zusammenfügen mehrerer Bilder über das Hinzufügen bzw. Erzeugen von einfachen Formen und Schrift, Verzerrungen, Größenveränderung und Drehen der Bilder bis hin zu wie von GIMP und Adobe Photoshop bekannten Filterfunktionen wie Unschärfe, Solarisation, Kontrastanpassung oder Invertierung.

Es eignet sich auch besonders zur Massenbearbeitung von Bildern.

http://www.imagemagick.org/Usage/

Die 11 Tools

Tool Liste der jeweiligen Optionen
animate - spielt mehrere Bilder schnell hintereinander ab. siehe auch: http://www.imagemagick.org/www/animate.html
convert - liest Bilder, bearbeitet sie und speichert sie ab. siehe auch: http://www.imagemagick.org/script/convert.php
compare - vergleicht 2 Bilder und gibt die Unterschiede als Bilddatei aus. siehe auch: http://www.imagemagick.org/script/compare.php
composite - verbindet mehrere Bilder zu einem Bild. siehe auch: http://www.imagemagick.org/script/composite.php
conjure - führt Skripte in der Skriptsprache von ImageMagick aus. siehe auch: http://www.imagemagick.org/www/conjure.html
display - stellt Bilder auf einem X-Server dar. siehe auch: http://www.imagemagick.org/www/display.html
identify - gibt Dateiformat, Bildgröße usw. von Bilddateien aus. siehe auch: http://www.imagemagick.org/script/identify.php
import - macht Screenshots. siehe auch: http://www.imagemagick.org/www/import.html
montage - fasst mehrere Bilder zu einem großen Einzelbild zusammen siehe auch: http://magick.imagemagick.org/script/montage.php?ImageMagick=j4shrq587dmuppu5pifrjekqg3
mogrify - wie convert, nur dass Ein- und Ausgabedatei gleich sind. siehe auch: http://www.imagemagick.org/www/mogrify.html
stream - liest aus Bilddateien Teile aus und gibt sie als Rohdaten, Fließkommazahlen oder ähnliches aus. siehe auch: http://www.imagemagick.org/www/stream.html

Beispiele

convert

  • geek.gif in geek.jpg konvertieren
$ convert geek.gif geek.jpg


  • alle Bilder im momentanen Verzeichnis kopieren und umbenennen in: img001, img002, img003 etc.
$ convert * img%03d.jpg


  • alle .png- Bilder im momentanen Verzeichnis in JPEG's konvertieren
$ convert *.png img%03d.jpg


  • die Größe des Bildes geek.jpg auf 216 Px Breite setzen
$ convert -resize 216x geek.jpg geek.jpg


  • die Größe des Bildes geek.jpg auf 216 Px Höhe setzen
$ convert -resize x216 geek.jpg geek.jpg


  • das PDF- File heft.pdf verkleinern und die Qualität verringern
$ convert heft.pdf -resize 25% -quality 92 heftklein.pdf

-resize 25% skaliert das PDF auf 25% herunter
-quality 92 verringert die Qualität um 8%


  • das PDF- File heft.pdf in einzelne JPEG's kovertieren
$ convert heft.pdf einzelseiten.jpg


  • nur die Seiten 3, 7 und 9 aus dem PDF- File heft.pdf in JPEG's konvertieren
$ convert heft.pdf[3,7,9] einzelseiten.jpg  

[3,7,9] Wildcard


  • alle JPEG's im momentanen Verzeichnis animieren
$ convert -delay 10 *.jpg clip.mng

-delay 10 der Faktor 10 stellt die Geschwindigkeit dar in der die einzelnen Bilder aufeinander folgen


  • alle Bilder in einem Verzeichnis um 90 Grad drehen
$ for file in *; do convert -rotate 90 "$file" "$file"; done
  • alle Bilder in einem Verzeichnis invertieren
$ for file in *.jpg; do convert $file -negate invertiert-$file; done
  • Größe der Einzelbilder mit convert (ImageMagick) verändern
$ convert picard_*.jpg -resize 50% pic_%03d.jpg

Mit der Wildcard * können wir dem Befehl convert mitteilen, daß wir alle JPEG Bilder, die mit picard_ beginnen bearbeiten wollen.

Die Option -resize legt den Grad der Größenveränderung in Prozent fest.

Die ausgegebenen Bilder werden wie im letzten Punkt wieder laufend numeriert und tragen diesesmal die Vorsilbe pic_.


  • Animation mit convert (ImageMagick) erstellen
$ convert pic_*.jpg -set delay 20 -loop 0 facepalm.gif

Erstellen aus einer Bildserie ein animiertes GIF.

Die Option -set delay legt die Abspielgeschwindigkeit fest,

die Option -loop 0 erzeugt ein GIF, das kontinuierlich abgespielt wird.

Jede andere Zahl würde die Anzahl der Wiederholungen nach dem Laden des GIFs festlegen.

animate

  • abspielen einer Animation
$ animate clip.mng

import

  • Screenshot eines bestimmten Teilabschnitts des Desktops machen
$ import screenshot.png
  • Screenshot des gesamten Desktops
$ import -window root screenshot.png
  • Screenshot eines aktiven Fensters
$ import -frame screenshot. png
  • Screenshot des gesamten Desktops nach einer Wartezeit von 5 Sekunden
$ sleep 5; import -window root screenshot.png 

Anstatt .png kann man natürlich auch .jpg oder .gif etc. verwenden

identify

  • Metainformationen des Bildes geek.jpg erfragen
$ identify geek.jpg
geek.jpg JPEG 308x216 308x216+0+0 8-bit DirectClass 7.57KiB 0.000u 0:00.000

mogrify

  • This command resizes all of the .png files in your directory to a size of 960 pixels by 528 pixels.
mogrify -resize 960x528 *.png


  • This will scale all of your images to a width of 960 pixels, the height will be scaled accordingly, preserving the aspect ratio.
mogrify -resize 960 *.png
  • alle bilder 800px hochkant resizen
mogrify -resize 800x *.JPG
  • When and where possible this will scale your images to 960 by 528 pixels, but will preserve the aspect ratio of those images that won’t scale to these dimensions exactly.
mogrify -resize 960x528! *.png