04:48 Uhr

Schlage mich gerade mit folgendem Problem in ImageMagick herum und hoffe, das doch bald lösen zu können. Bin froh, dass ich die Besprechung von Greg Roelofs‘ Buch abgeschlossen habe. Ich kann dieses Buch auch nach 21 Jahren wirklich nur empfehlen. Dann habe ich erfahren, dass ImageMagick eine Security Policy hat – wieder etwas, mit dem ich mich auseinandersetzen darf. Nach dem zweiten Milchkaffee heute morgen überlege ich, wie ich jetzt weiter vorgehe.

Während meiner Beschäftigung mit ImageMagick fällt mir auch immer wieder das ein, was die Chip.de-Redaktion über dieses Programm bzw. die im Funktionsumfang doch sehr reduzierte GUI-Version geschrieben hat. Offenbar besteht bei Chip.de kein Interesse daran, sich mit einer Shell und deren Möglichkeiten auseinanderzusetzen.

Shell-Scripts

Auf der Website der FU Berlin habe ich ein gutes Tutorial zu Shell-Scripts unter Linux entdeckt. Shell-Scripts sind das Äquivalent zu BAT-Dateien unter Windows.

Ein Beispiel für ImageMagick:

#!/bin/sh
  # Create a negated rose image and overlay a comment
  magick -background none -fill red -gravity center \
          -font Candice -size 140x92 caption:'A Rose by any Name' \
          \( rose: -negate -resize 200% \) +swap -composite \
          output.gif

Code mit freundlicher Genehmigung von Wolfgang Hugemann.

Voraussetzung für das Funktionieren dieses Script ist, daß die Schrift Candice installiert ist; ansonsten bekommt man/frau eine Fehlermeldung. Und natürlich muß auch ImageMagick 7.x installiert sein

Perspektiven (2)

Habe bei der Medienwerkstatt des Stuttgarter Werkstatthauses angefragt, ob dort Interesse an einem Workshop „Grafik mit Open-Source-Software“ besteht. Ich spüre, daß ich Lust habe, so etwas zu versuchen. Mal sehen, wie das Feedback ist. Wenn es positiv ausfällt, müßte ich mich erst mal mit Windows 10 auseinandersetzen, was jedoch überhaupt kein Problem ist. Die einzige Herausforderung ist, die an sich für Linux geschriebenen Befehlszeilen für ImageMagick auf die Windows-Shell zu übertragen (siehe hier und hier).

Fyre 1.0.1

Das Interface von Fyre 1.0.1

Ich hatte mir Fyre vor Jahren schon mal kurz installiert, es aber kaum genutzt und dann wieder deinstalliert. Heute nun hatte ich auf einmal das Gefühl, daß es doch cool wäre, dieses Programm wieder zu installieren. Dabei bin ich jedoch auf einige technische Schwierigkeiten gestoßen.

Zuerst wollte ich – bei Ubuntu naheliegend – mittels gdebi das .deb-Paket installieren. Da kam aber die Fehlermeldung, daß die Bibliothek libglade2-0 fehlen würde. Ergo habe ich es zuerst über die Shell versucht, indem ich $ sudo apt-get install libglade2-0 eingetippt habe. Prompt wurde das aber mit einer neuen Fehlermeldung quittiert:

E: Couldn't find any package by glob 'libglade-2.0'

Ok, also in Synaptic, dem Paketmanager von Ubuntu, nachgeschaut. Da war das Paket aber installiert. Dann eine Google-Suche, bei der ich den Beitrag How do I install libglade2-0? fand. Hilfreich war der Hinweis, libglade2-0-dev zu installieren, was ich auch tat. Nun wollte ich aber nichts mehr riskieren und beschloß, Fyre zu kompilieren – unter Linux normalerweise keine große Sache. Wenn die Abhängigkeiten stimmen, genügen drei Befehle: sudo ./configure, sudo make und sudo make install.

Fazit: Wie obiger Screenshot zeigt, konnte ich Fyre jetzt anstandslos installieren.

P. S.: Noch ein Beispiel von dem, was mit Fyre möglich ist. Hier wurde die Grafik mit Alpha-Kanal gerendert. Dieses Feature finde ich absolut schick. Einfach bei der Farbauswahl 'Opacity' auf '0' setzen.

In Fyre 1.0.1 gerenderte Grafik mit Alpha-Kanal

Der Alpha-Kanal macht es auch möglich, mittels Gimp Farbverläufe einzufügen, etwa so:

In Fyre 1.0.1 gerenderte Grafik mit Farbverlauf

Schick, nicht wahr?

ImageMagick: Farbverläufe

Mit ImageMagick erzeugter Farbverlauf

Habe mich gerade ein bischen mit den Möglichkeiten beschäftigt, mittels ImageMagick Farbverläufe zu erzeugen. Da sind z. T. eben doch deutlich komplexere Verläufe möglich als in einem Bildbearbeitungsprogramm wie dem Gimp oder Photoshop.

Der Code zu obigem Verlauf:

convert -size 625x625 gradient:yellow-blue \ \( gradient:black-lime -rotate -90 \) \ -compose CopyGreen -composite gradient_colormap.jpg

Dieses Beispiel ist unter Linux erzeugt worden. Wie die genaue Syntax unter Windows lautet, kann ich leider nicht sagen, da ich schon 18 Jahre praktisch ausschließlich mit Linux arbeite und mich deshalb mit einer Windows-Shell nicht auskenne. 🙁 Informationen zur Nutzung von ImageMagick unter Windows findet ihr auf der Seite ImageMagick v6 Examples — Usage under Windows.

P. S.: Ein noch komplexeres Beispiel findet sich hier.

Schick: ImageMagick

Das ImageMagick-Logo. Lizenz: ImageMagick License.

ImageMagick ist eine Grafik-Suite bestehend aus einer Reihe von Tools, um Grafiken und Fotos zu erzeugen, zu bearbeiten und zu konvertieren. Das Besondere: ImageMagick wird in der Regel aus einer Shell (Textkonsole) heraus aufgerufen. Mit den Tools von ImageMagick steht einem eine Überfülle an Möglichkeiten zur Verfügung, angefangen vom relativ simplen Konvertieren von Grafiken von einem Format in ein anderes bis hin zu komplexen Operationen mittels Shell-Script.

Ein einfaches Beispiel für Linux:

#!/bin/bash
for file in *.jpg
do convert $file -resize 625 -quality 90 resized-$file
done

Eine kurze Erklärung:

Hier werden alle JPGs in einem gegebenen Verzeichnis auf eine Breite von 625 Pixeln herunterskaliert.

Dann ist es – um nur ein weiteres Beispiel zu nehmen – möglich, komplexe Gradienten (Farbverläufe) wie etwa den folgenden zu erzeugen. Das ist etwa im Gimp schwieriger zu machen.

Ich persönlich habe mich ehrlich gesagt noch nicht so intensiv mit ImageMagick beschäftigt, wie ich vielleicht sollte. Ich kann diese Tools aber wirklich wärmstens empfehlen, zumal ImageMagick Open Source ist.

Blender: Rendern aus einer Shell

In den Blender-Docs ist die Möglichkeit dokumentiert, aus einer Shell heraus zu rendern, d. h. ohne GUI. Ich habe – zumal unter Linux – dieses Feature schon ausprobiert und finde es schick.

Ein Beispiel:

'blender -b Dateiname.blend -E CYCLES -s 1 -e 1 -t 2 -a'

Die Parameter bedeuten:

-a: Eine Animation rendern; -b: Im Hintergrund rendern (ohne GUI); -E: Render-Engine (hier: Cycles); -s: Start-Frame; -e: End-Frame (bei Einzelbildern sind beide Werte '1'); -t: Anzahl der Threads (ist prozessor-abhängig)