Herramienta de línea de comandos para crear dibujos simples

Estoy buscando una herramienta de línea de comandos para crear dibujos simples en macOS. Por lo general, necesito dibujar algunas figuras/símbolos (muy) simples. Dibujarlos con aplicaciones GUI como GIMP es algo exagerado, y quiero hacerlo dentro de la terminal de todos modos.

La herramienta que estoy buscando puede ser un shell o un programa. Como ejemplo, supongamos que quiero dibujar un botón de "reproducir" (algo así como un ícono plano de YouTube), esperaría algo como un intérprete de:

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

o un comando como:

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

Está bien siempre que pueda dibujar formas geométricas elementales (líneas, polígonos y círculos) y textos. El soporte de transparencia es una ventaja. Las características avanzadas como las capas no son necesarias. Un puerto de Linux seguido de una autocompilación también está bien. El software debe publicarse bajo una licencia de código abierto.

Nota: no estoy buscando un intérprete de lenguaje de programación oscuro (como Braindraw). También espero que sea rápido , al menos más rápido que transformar el script anterior en un programa Java válido, luego esperar la compilación y ejecutarlo. Además, quiero una salida sin pérdidas. Algo como PNG o incluso BMP está bien. Sin embargo, SVG no lo es porque necesito más conversiones de formato.

Cualquier ayuda es apreciada.

Respuestas (3)

Puedes usar imagemagick. Tiene una herramienta de línea de comandos, GUI también disponibles.

Dibujar un rectángulo se puede hacer así.

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

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

Probablemente el más antiguo y más utilizado es Graphviz Dot (busque en este sitio las preguntas etiquetadas/respondidas de ese modo , por ejemplo, esta respuesta mía).

Esto:

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

dibuja esto:

ingrese la descripción de la imagen aquí

Para el relleno de color rojo, consulte https://graphviz.gitlab.io/_pages/Gallery/directed/crazy.html

Mira la galería de flechas, formas, todo lo que puedas desear.

ingrese la descripción de la imagen aquí

Para formas 3D, https://www.allwinedesigns.com/blog/stlcmd es notable.

Puede dibujar cubos, esferas, cilindros, conos, toros, hilos (el objetivo era proporcionar una herramienta para la impresión 3D). Hay una herramienta de transformación que puede escalar uniformemente y también a lo largo de cualquier ángulo. Otra herramienta hará intersecciones, unión y diferencias.

La salida está en formato STL, http://jinjunho.github.io/Madeleine.js/ proporciona un renderizador de código abierto, todo JavaScript para ellos.