Star

Created With

Ascii Art

linkAntecedentes

El ASCII Art es una técnica de diseño que consiste en la representación de imágenes a partir de la combinación de los caracteres establecidos por el estándar ASCII. Esta practica se inventó a raíz de que las primeras impresoras carecían de habilidades gráficas; por lo que se usaban caracteres para hacer banners, separadores, y marcas distintivas cuando no se podían adjuntar piezas gráficas en correos y otros textos. El uso de ASCII Art se expandió entre finales de los 1970's y comienzos de los 1980's con el uso de Bulletin Board Systems (BBS) que funcionaban por medio de terminales de comandos, lo que hacia imperativo usar caracteres para representar imágenes, incluso en esos momentos nacían grupos de arte que creaban comics basados en ASCII Art. Sin embargo con la llegada de tipografías de ancho variable y las búsquedas gráficas, en los 1990's llego el declive del ASCII Art; pero este ha sobrevivido en plataformas de chat, mensajes, correos y juegos de rol multijugador hasta nuestros días.

linkSolución y Resultados

  1. Las imagenes a convertir estan precargadas en el arreglo images[]

  2. Se calcula el indice de la imagen a convertir en cyclic_t

  3. Se carga la imagen en el objeto gfx para hacer la posterización

  4. Se hace la posterización con gfx.filter(POSTERIZE, 3) para atenuar los cambios de color en la imagen

  5. Se convierte la imagen con la librería y se guarda en ascii_arr como un arreglo 2d de caracteres ascii.

  6. Se imprime el arreglo en el canvas con la función typeArray2d

  7. Finalmente se muestra la imagen original en transicion a la convertida

asciiArtImages.js
1linkfunction draw() {

2link background(0);

3link

4link cyclic_t = millis() * 0.0002 % images.length;

5link

6link gfx.image(images[floor(cyclic_t)], 0, 0, gfx.width, gfx.height);

7link

8link gfx.filter(POSTERIZE, 3);

9link

10link ascii_arr = myAsciiArt.convert(gfx);

11link

12link myAsciiArt.typeArray2d(ascii_arr, this);

13link

14link tint(255, pow(1.0 - (cyclic_t % 1.0), 4) * 255);

15link image(images[floor(cyclic_t)], 0, 0, width, height);

16link noTint();

17link}

18link

Creditos de: Libreria asciiart

AntecedentesSolución y Resultados

Home

Workshopschevron_right
Imaging & Videochevron_right
Softwarechevron_right
Hardwarechevron_right

Introducción RGB y Luma Mascaras de Convolución Ascii Art Foto-Mosaico

Desempeño Computacionalchevron_right

Conclusiones y Trabajo Futuro

Renderingchevron_right
Teamchevron_right