ImageMagick 7: Eine Sinuskurve rendern

In ImageMagick 7 gerenderte Sinuskurve. © Copyright 2021 by Claus Cyrny. Alle Rechte vorbehalten.

Im Zuge meines Beitrags „Über Kreativität“ mußte ich ja eine Sinuskurve zeichnen, was ich auch so einigermaßen hinbekommen habe. Ich habe mich da aber gefragt, ob man/frau das nicht auch mittels ImageMagick machen könnte. Wie ihr seht, geht das definitiv, auch wenn ich das nicht allein geschafft habe; jemand in einem Forum bei GitHub hat mir geholfen.

Hier jedenfalls das Script für Linux:

#!/bin/sh

magick \
-size 2400×1 gradient:Black-White \
-evaluate Sin 2 \
-scale „2400×2400!“ \
-size 2400×2400 gradient: \
-compose MinusDst -composite \
-fill „#fff“ +opaque „#000“ \
-morphology edgeout diamond:1 \
-morphology dilate plus:8 \
-fill Red -opaque White \
-fill White -opaque Black \
-colorspace RGB \
-resize 25% \
-colorspace sRGB \
x2.png

Und so müßte dasselbe Script als BAT-Datei für Windows aussehen:

@ECHO OFF

magick ^
-size 2400×1 gradient:Black-White ^
-evaluate Sin 2 ^
-scale „2400×2400!“ ^
-size 2400×2400 gradient: ^
-compose MinusDst -composite ^
-fill „#fff“ +opaque #000 ^
-morphology edgeout diamond:1 ^
-morphology dilate plus:8 ^
-fill Red -opaque White ^
-fill White -opaque Black ^
-colorspace RGB ^
-resize 25%% ^
-colorspace sRGB ^
x2.png

x2.png ist dabei die Grafik mit der Sinuskurve, die – wie man/frau sehen kann – oben und unten leider etwas abgeschnitten ist. Ich werden hier aber noch den optimierten Code posten.

Und so sieht die korrekte Kurve dann aus. (Ich habe das jetzt im Gimp editiert.)

In ImageMagick 7 gerenderte Sinuskurve. © Copyright 2021 by Claus Cyrny. Alle Rechte vorbehalten.

Wie man/frau sieht, kann man/frau mittels ImageMagick total schicke Sachen machen. Leider hat sich dieses Programm aber außerhalb von Grafikkreisen ob seiner komplexen Handhabung nicht so richtig durchsetzen können. ImageMagick gibt es zwar mit grafischer Oberfläche (GUI); diese Version unterstützt aber nur sehr rudimentäre Funktionen. Codebeispiele finden trotzdem Interessierte auf der ImageMagick-Homepage.

P. S.: Hier wie versprochen der korrekte Code des obigen Scripts:

#!/bin/sh

magick \
-size 2400×1 gradient:Black-White \
-evaluate Sin 2 -evaluate Multiply 0.98 -evaluate Add 1% \
-scale „2400×2400!“ \
-size 2400×2400 gradient: \
-compose MinusDst -composite \
-fill „#fff“ +opaque „#000“ \
-morphology edgeout diamond:1 \
-morphology dilate plus:8 \
-fill Red -opaque White \
-fill White -opaque Black \
-colorspace RGB \
-resize 25% \
-colorspace sRGB \
x2.png

Und als BAT-Datei müßte das etwa wie folgt aussehen:

@ECHO OFF

magick ^
-size 2400×1 gradient:Black-White ^
-evaluate Sin 2 -evaluate Multiply 0.98 -evaluate Add 1% ^
-scale „2400×2400!“ ^
-size 2400×2400 gradient: ^
-compose MinusDst -composite ^
-fill #fff +opaque #000 ^
-morphology edgeout diamond:1 ^
-morphology dilate plus:8 ^
-fill Red -opaque White ^
-fill White -opaque Black ^
-colorspace RGB ^
-resize 25%% ^
-colorspace sRGB ^
x2.png

User snibgo von GitHub hat mir gerade noch eine optimierte Version zugemailt; zuerst mal als Windows-BAT-Datei:

@ECHO OFF

magick ^
-size 2400×1 gradient:Black-White ^
-evaluate Sin 2 ^
+write x.png ^
-scale „2400×2400^!“ ^
-size 2400×2400 gradient: ^
-compose MinusDst -composite ^
-fill #fff +opaque #000 ^
-morphology edgeout diamond:1 ^
-size 2400×8 xc:Black +swap -append ^
-size 2400×8 xc:Black -append +repage ^
-morphology dilate plus:8 ^
-fill Red -opaque White ^
-fill Blue -opaque Black ^
-colorspace RGB ^
-resize 25%% ^
-colorspace sRGB ^
x2.png

Weiterführende Links: Meine Beiträge „ImageMagick: Scans optimieren“ mit einem relativ einfachen Codebeispiel sowie „ImageMagick unter Windows“.

RenderMan für Blender

Eine gute Nachricht: Pixars RenderMan gibt es – für nicht-kommerzielle Nutzung – kostenlos zum Herunterladen. Voraussetzung ist, daß man/frau sich bei Pixar registriert, seine Daten eingibt und dem erfreulich kurzen EULA zustimmt. Die Installation von RenderMan ist erforderlich für RenderMan für Blender, den es – ebenfalls kostenlos – bei GitHub gibt.