Befehlszeilentool zum Erstellen einfacher Zeichnungen

Ich suche ein Befehlszeilentool zum Erstellen einfacher Zeichnungen unter macOS. Normalerweise muss ich einige (sehr) einfache Figuren/Symbole zeichnen. Das Zeichnen mit GUI-Apps wie GIMP ist etwas übertrieben, und ich möchte es sowieso im Terminal tun.

Das gesuchte Werkzeug kann eine Shell oder ein Programm sein. Nehmen wir als Beispiel an, ich möchte eine „Play“-Schaltfläche zeichnen (so etwas wie ein abgeflachtes YouTube-Symbol), ich würde so etwas wie einen Interpreter erwarten von:

color 255 0 0
rect 0 0 100 100
color 255 255 255
poly [10 10 10 90 90 50]

oder ein Befehl wie:

draw -c red -r 0 0 100 100 -c white -p 10 10 10 90 90 50

Es ist in Ordnung, solange ich elementare geometrische Formen (Linien, Polygone und Kreise) und Texte zeichnen kann. Transparenzunterstützung ist ein Plus. Erweiterte Funktionen wie Ebenen sind nicht erforderlich. Eine Linux-Portierung mit anschließender Selbstkompilierung ist auch in Ordnung. Die Software sollte unter einer Open-Source-Lizenz veröffentlicht werden.

Hinweis: Ich suche keinen obskuren Programmiersprachen-Interpreter (wie Braindraw). Ich erwarte auch, dass es schnell ist, zumindest schneller als das obige Skript in ein gültiges Java-Programm umzuwandeln, dann auf die Kompilierung zu warten und es auszuführen. Außerdem möchte ich eine verlustfreie Ausgabe. Etwas wie PNG oder sogar BMP ist in Ordnung. SVG jedoch nicht, da ich weitere Formatkonvertierungen benötige.

Jede Hilfe ist willkommen.

Antworten (3)

Sie können imagemagick verwenden. Es verfügt über ein Befehlszeilentool, GUIs sind ebenfalls verfügbar.

So kann man ein Rechteck zeichnen

convert logo: -fill none -stroke black -strokewidth 3 -draw "rectangle 10,10 630,470" logo_rect.png

https://www.imagemagick.org/script/download.php

Das wahrscheinlich älteste und am weitesten verbreitete ist Graphviz Dot (durchsuchen Sie diese Site nach Fragen, die damit markiert / beantwortet wurden, zum Beispiel diese Antwort von mir).

Diese:

graph {  
           a -- b;   
           b -- c;   
           a -- c;   
           d -- c;   
           e -- c;   
           e -- a;   
      } 

zieht das:

Geben Sie hier die Bildbeschreibung ein

Eine farbige Füllung finden Sie unter https://graphviz.gitlab.io/_pages/Gallery/directed/crazy.html

Schauen Sie in der Galerie nach Pfeilen, Formen, alles, was Sie sich wünschen können.

Geben Sie hier die Bildbeschreibung ein

Für 3D-Formen ist https://www.allwinedesigns.com/blog/stlcmd bemerkenswert.

Es kann Würfel, Kugeln, Zylinder, Kegel, Torusse, Fäden zeichnen (das Ziel war, ein Werkzeug für den 3D-Druck bereitzustellen). Es gibt ein Transformationswerkzeug, das gleichmäßig und auch in jedem Winkel skalieren kann. Ein anderes Tool wird Schnittmengen, Vereinigungen und Differenzen ausführen.

Die Ausgabe erfolgt im STL-Format, http://jinjunho.github.io/Madeleine.js/ stellt einen Open-Source-JavaScript-Renderer für sie bereit.