Convert (ImageMagick) - Erstellen und bearbeiten von Bildern auf der Kommandozeile / Convert (ImageMagick) - Creating and Editing Pictures on the Commandline (DE / EN)

in #deutsch2 years ago

(English Below / Englisch unten)

ImageMagick - Erstellen und bearbeiten von Bildern auf der Kommandozeile



Für das Bearbeiten von Bildern werden gerne Programme mit graphischen Benutzerschnittstellen verwendet. (Gimp z.b)
Wenn es aber darum geht simple Abläufe zu Automatisieren bzw sich wiederholende Aufgaben immer wieder gleichartig Auszuführen damit die Ergebnisse vergleichbar bzw ähnlich sind dann kann das Verwenden des convert Programms aus dem ImageMagick Packet sinvoll sein.

1. Erstellen von 4 leeren Bildern mit farbigem Hintergrund:



convert -size 800x800 xc:white empty1.jpg
convert -size 800x800 xc:red empty2.jpg
convert -size 800x800 xc:blue empty3.jpg
convert -size 800x800 xc:green empty4.jpg


2. In jedes erstellte Bild wird mittig zentriert ein simpler Text eingefügt:



convert empty1.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'Bild 1'" bild1.jpg

043.05.bild1.jpg

convert empty2.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'Bild 2'" bild2.jpg

043.06.bild2.jpg

convert empty3.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'Bild 3'" bild3.jpg

043.07.bild3.jpg

convert empty4.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'Bild 4'" bild4.jpg

043.08.bild4.jpg

Weitere Möglichkeiten für die -gravity Option sind:
NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast

3. Aneinanderfügen von Bildern (Horizontal von Links nach Rechts)

convert bild1.jpg bild2.jpg bild3.jpg bild4.jpg +append IMG_Komplett.lr.jpg

043.09.IMG_Komplett.lr.jpg


4.Aneinanderfügen von Bildern (Vertikal von Oben nach Unten)

convert bild1.jpg bild2.jpg bild3.jpg bild4.jpg -append IMG_Komplett.ou.jpg

043.10.IMG_Komplett.ou.jpg


5. Zusammenfügen der 4 Bilder zu einem Bild mit der montage Anweisung:

montage -tile 2x2 -geometry +0+0 bild1.jpg bild2.jpg bild3.jpg bild4.jpg bild1bis4-2x2.jpg

043.11.bild1bis4-2x2.jpg

Mit convert könnte man sowas mit einer verschachtelten Anweisung machen:
convert ( bild1.jpg bild2.jpg -append ) ( bild3.jpg bild4.jpg -append ) +append bild1bis4-conv.jpg

043.12.bild1bis4-conv.jpg


6. convert bietet auch rudimentäre Möglichkeiten in ein Bild zu Zeichnen:

convert -size 100x100 xc:skyblue -fill white -stroke red -strokewidth 8 -draw "translate 50,50 rotate 45 ellipse 0,0 30,20 180,0" out.jpg

043.13.zeichnung1.jpg

convert -size 400x400 xc:skyblue -fill white -draw "translate 50,50 rotate 45 ellipse 0,0 30,20 180,0" out.jpg

043.14.zeichnung2.jpg


Die Beispiele wurden mit:
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101
getestet.


English Version

ImageMagick - Creating and Editing Pictures on the Commandline

Programs with graphical user interfaces are often used for editing images. (Gimp e.g.)
But when it comes to automating simple processes or performing repetitive tasks in the same way over and over again so that the results are comparable or similar, then using the convert program from the ImageMagick package can make sense.

1. Creating 4 blank images with colored background:



convert -size 800x800 xc:white empty1.jpg
convert -size 800x800 xc:red empty2.jpg
convert -size 800x800 xc:blue empty3.jpg
convert -size 800x800 xc:green empty4.jpg

2. A simple text is inserted in the middle of each image created:



convert empty1.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'image 1'" image1.jpg

043.05.bild1.jpg

convert empty2.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'image 2'" image2.jpg

043.06.bild2.jpg

convert empty3.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'image 3'" image3.jpg

043.07.bild3.jpg

convert empty4.jpg -gravity Center -font Times-Bold -pointsize 72 -draw "text 0,0 'image 4'" image4.jpg

043.08.bild4.jpg

Other possibilities for the -gravity option are:
NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast

3. Stitching Images (Horizontal from Left to Right)

convert bild1.jpg bild2.jpg bild3.jpg bild4.jpg +append IMG_Komplett.lr.jpg

043.09.IMG_Komplett.lr.jpg


4. Stitching Images (Vertically from Top to Bottom)

convert bild1.jpg bild2.jpg bild3.jpg bild4.jpg -append IMG_Komplett.ou.jpg

043.10.IMG_Komplett.ou.jpg


5. Merge the 4 images into one image:

montage -tile 2x2 -geometry +0+0 bild1.jpg bild2.jpg bild3.jpg bild4.jpg bild1bis4-2x2.jpg

043.11.bild1bis4-2x2.jpg

With convert you could do something like this with a nested statement:
convert ( bild1.jpg bild2.jpg -append ) ( bild3.jpg bild4.jpg -append ) +append bild1bis4-conv.jpg

043.12.bild1bis4-conv.jpg


6. convert also offers rudimentary options for drawing in an image:

convert -size 100x100 xc:skyblue -fill white -stroke red -strokewidth 8 -draw "translate 50,50 rotate 45 ellipse 0,0 30,20 180,0" out.jpg

043.13.zeichnung1.jpg

convert -size 400x400 xc:skyblue -fill white -draw "translate 50,50 rotate 45 ellipse 0,0 30,20 180,0" out.jpg

043.14.zeichnung2.jpg


The examples tested with:
Version: ImageMagick 6.9.10-23 Q16 x86_64 20190101