zur Übersicht nächste Seite

imagemagick Teil1

Generell gilt bei den weißen Textstellen auf dieser Seite: Man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals ein - dann drückt man die Eingabetaste.

Verwendung von ImageMagick:
Es werden hier nur einige Informationen von der ImageMagick-Internetseite übersetzt. Für eine komplette Dokumentation bitte dort nachschauen.

Wenn man eine Farbnummer in HTML-Notation (Hex-Code) 
oder einen Farbnamen hat
kann man ein einfarbiges Bild in der Größe 80x20 erzeugen durch:
convert -size 80x20 xc:red bild01.png

convert -size 80x20 canvas:blue bild02.png

convert -size 80x20 xc:#3ed183 bild03.png

convert -size 80x20 canvas:#fad226 bild04.png
 

        

Die möglichen Farbnummern in HTML-Notation (Hex-Code)
kann man erfahren über gimp

Oder durch Aufruf von zenity
zenity --color-selection --show-palette

Oder durch Aufruf von yad
yad --color

Die möglichen Farbnamen kann man erfahren durch
convert -list color

Die Liste ist recht lang und die Farbe ist noch nicht zu sehen. Aber man kann sich ein Bild machen durch

convert -list color | sed '1,5d'| while read color junk; do convert -label $color -size 120x20 xc:$color +depth miff:-; done | montage - -frame 5 -tile 6x -geometry +2+2 -background black Farbtabelle.png
Der Computer braucht einige Sekunden um dieses Bild zu erstellen aber dann hat man eine gute Übersicht.

Die möglichen Namen für Farben kann man auch mittels display ermitteln. Dazu ruft man mit display ein Bild auf und klickt auf das geöffnete Bild. Es erscheint ein Zusatzmenu bei dem man sich zu einem Farb-Browser durchklicken kann

   

Dieses Zusatzmenu ermöglicht auch eine Bildbearbeitung. Aber dazu sollte man wissen wie ImageMagick arbeitet. Siehe weiter unten.


Das Erzeugen eines Bildes mit Farbverlauf ist möglich mit gradient
convert -size 100x100 gradient: bild05.png

convert -size 100x100 gradient:#3ed183 bild06.png

convert -size 100x100 gradient:'#3ed183-#4b3dd0' bild07.png

convert -size 100x100 gradient:'none-#e61b8e' bild08.png

        

Wird keine Farbe konkret angegeben so erfolgt der Verlauf zwischen schwarz und weiß. 
Sofern eine einzelne Farbe angegeben wird sucht das Programm schwarz oder weiß als zweite Farbe aus um den Verlauf zu erzeugen.
Aber man kann gleich zwei verschiedene Farben angeben. Dazu muß man alles in ' setzen.
Auch transparente/halbtransparente Bilder sind möglich.


Die Terminal-Eingaben von ImageMagick haben eine eigene Reihenfolge. Es gibt

Bearbeitungs-Vorgaben (Setting Options): Diese müssen zuerst eingegeben werden. Sie sind für die spätere Verwendung durch Bild-Operationen vorgesehen. Folgen keine Bild-Operationen so haben diese gespeicherten Vorgaben keine Auswirkung. 

Die Bild-Operationen kann man einteilen in
Bild-Erzeugungs-Operationen:
xc: canvas: gradient: radial-gradient: plasma:  und andere.
Diese laden Bilder in den Speicher unter Berücksichtigung von gesetzten Bearbeitungs-Vorgaben. Bereits im Speicher vorhandene Bilder werden dabei nicht verändert. Zu den Bild-Erzeugungs-Operationen gehören in diesem Sinne auch Bilder die durch convert eingelesen werden, also BILD.FORMAT (A.png B.jpg C.tiff D.gif usw.)

Bild-Veränderungs-Operationen z.B.:
-crop -repage -border -rotate -flip -flop -draw und andere.
Diese Operationen werden sofort angewendet wenn sie im Terminal auftauchen und zwar auf alle im Speicher befindlichen Bilder, der Reihe nach wie diese eingelesen wurden. Es gibt also eine Liste mit durchnumerierten eingelesenen Bildern, beginnend mit 0. Dabei kann eine solche Bild-Veränderungsoperation (z.B. -crop) weitere Bilder im Speicher erzeugen und der Bilder-Liste hinzufügen. Auf alle später eingelesenen Bilder haben Bild-Veränderungsoperationen keine Auswirkung.

Bilder-Liste-Operationen
Diese Operationen können die gesamte Bilder-Liste in ein einziges Bild umschreiben. Oder auch die Bilder in der Bilder-Liste verändern in Abhängigkeit von vorhergehenden oder nachfolgenden Bildern aus der Bilder-Liste z.B. 
-append -flatten -mosaic -layers -composite und andere.

Bilder-Stack-Operationen
Diese Operationen verändern die Bilder selbst nicht sondern ändern die Reihenfolge in der Bilder-Liste
-delete -insert -swap -reverse -duplicate -clone \( \) und andere.

Und es gibt noch einige besondere Operationen.

Das letzte angegebene BILD.FORMAT bestimmt wie die im Speicher befindlichen Bilder auf die Festplatte geschrieben werden und der convert-Vorgang abgeschlossen wird. Dabei können Bearbeitungs-Vorgaben berücksichtigt werden die nur in dem letzten Schritt des Schreibens auf die Festplatte sinnvoll sind:
-quality -loop -compression -transparent-color  und andere.
Werden hier keine speziellen Vorgaben gesetzt so werden default-Vorgaben verwendet die sich an dem zuletzt in den Speicher geladenen Bild orientieren. 

Anschaulich kann man sich vorstellen daß convert Bilder in einen Speicher lädt (unten durch weiße Rechtecke verdeutlicht), diese der Reihe nach mit den Eingaben bearbeitet und das veränderte Bild zum Schluß in einem vorgegebenen Format wieder ablegt. Hier ein Beispiel

convert -size 30x30 -bordercolor yellow gradient:red xc:blue -border 3 +append -size 36x36 -bordercolor red xc:green -border 3 +append m11.png

Darüberhinaus gibt es ein ImageMagick-eigenes Bildformat 
.miff
das viele Bilder mit Informationen speichert die ansonsten verlorengehen bei dem Abspeichern in ein konkretes Format wie
.gif (erlaubt keine halbtransparenten Farben, hat nur 256 Farben)
.png (speichert immer nur ein Bild)
usw. 
Wird dieses .miff-Bild in ImageMagick weiterbearbeitet, z.B. optimiert, so können diese Zusatzinformationen wesentlich sein. Daher ist es vorteilhaft in Zwischenschritten dieses zu nutzen. Bei obigem Beispiel etwa vor der letzten Bild-Operation
convert -size 30x30 -bordercolor yellow gradient:red xc:blue -border 3 +append -size 36x36 -bordercolor red xc:green uuh.miff
Das miff-Format läßt sich nicht mit einem Bildbetrachter oder Bildbearbeitungsprogramm öffnen. Nur ImageMagick hat Zugriff darauf und damit lassen sich natürlich auch die enthaltenen Bilder anzeigen:
montage uuh.miff -tile 5x -geometry +6+6 -background black x:

Bearbeitungsvorgaben werden im miff-Format nicht gespeichert. Deshalb muß man diese wieder neu setzen wenn man den Bildprozess genauso weiterführen will.
convert uuh.miff -bordercolor red -border 3 +append m11.png
ImageMagick arbeitet mit einem Datenstrom der noch nicht in ein bestimmtes Bildformat eingebunden ist. Ist der Dateiname ein schlichtes
-
so liest ImageMagick den Datenstrom vom standard input 
der z.B. auch über eine pipe | erzeugt werden kann
cat bild01.png | convert - -frame 8x8+4+4 bild11.png

Man muß das Dateiformat .miff nicht verwenden. Man kann auch den gesamten ImageMagick-Datenstrom durch die pipe | schicken mit
+depth miff:-
convert -size 30x30 -bordercolor yellow gradient:red xc:blue -border 3 +append -size 36x36 -bordercolor red xc:green +depth miff:- | convert - -bordercolor red -border 3 +append m11.png

convert -size 30x30 -bordercolor yellow gradient:red xc:blue -border 3 +append -size 36x36 -bordercolor red xc:green +depth miff:- | montage - -tile 5x -geometry +6+6 -background black x:

Man kann auch mit dem ImageMagick-Datenstrom Bilder sammeln
for Zahl in 1 4 1 2 ; do convert bild0$Zahl.png -size 80x5 xc:green -append +depth miff:-; done | montage - -tile 5x -geometry +6+6 -background black x:

Diese Technik wurde bei obiger Terminal-Eingabe zur Erzeugung der Farbtabelle für die Farbnamen verwendet.

zur Übersicht nächste Seite

Datenschutzerklärung
Impressum