Hasta ahora, utilizaba personajes para dibujar imágenes, formas, etc. en un terminal.
¿Es posible dibujar un solo píxel?
Digamos:
foo 1 1 red
Esto dibujará un píxel rojo en la coordenada (1, 1)
.
¿Existe una aplicación existente que haga este trabajo?
Actualmente ejecuta Ubuntu 14.04.
DEC GT40
sería útil, pero es demasiado caro ... :-)Respuestas:
Los terminales son pantallas de celdas de caracteres y no admiten dibujar gráficos de píxeles. Ni siquiera cuando se ejecuta en X11; aunque ciertamente es posible dibujar píxeles individuales cuando se habla directamente a un servidor X, si su programa está hablando con un terminal, solo puede pedirle al terminal que muestre caracteres.
Para mostrar gráficos en lugar de texto, deberá escribir un programa que interactúe directamente con el servidor X. Esto normalmente se realiza a través de una biblioteca de kit de herramientas de interfaz de usuario como GTK , Qt o wxWidgets .
fuente
xterm
o la incrustación de imágenes determinology
). Tenga en cuenta que el terminal también se refiere a terminales X11 (los sucesores de cosas como las de Tektronix)Echa un vistazo a la biblioteca Drawille . Utiliza los caracteres braille UTF para dibujar píxeles.
fuente
No podrá dibujar colores de un solo píxel en el terminal a menos que pueda hacer lo que menciona Wyzard , programarlo usted mismo o encontrar una herramienta ya hecha para el trabajo (esto podría ser específico del terminal). Sin embargo, es posible utilizar coordenadas de caracteres individuales en su terminal para dibujar imágenes 2D utilizando caracteres ASCII y UTF-8. La herramienta para esto se llama
tput
. Esta herramienta funciona manipulando la posición del cursor de acuerdo con las coordenadas de su terminal actual. Aquí hay una lista de muestra detput
funcionalidades:fuente
Además de los principales kits de herramientas de widgets (GTK, Qt, WxWidgets) mencionados en la respuesta de Wyzard, también podría considerar bibliotecas más orientadas a los medios como SFML o libSDL . Si solo desea una salida gráfica (casi sin interacción), incluso podría considerar CairoGraphics .
En algunos casos, puede usar, a través de una tubería (por ejemplo, popen ) o en la línea de comandos, utilidades de comando como GNUplot o GraphViz .
También podría considerar usar las capacidades gráficas de su navegador, por ejemplo, codificando alguna aplicación web dedicada (usando alguna biblioteca de servidor HTTP como Wt o libonion , con tecnologías web como AJAX, SVG, HTML5, canvas, websockets, etc.)
Pero la mayoría de los emuladores de terminal no tienen o tienen muy pocas capacidades gráficas (por lo que no tienen gráficos de píxeles genuinos). Por lo tanto, prácticamente necesita su programa para interactuar con el servidor de visualización ( X11 , Wayland , ...).
fuente