Realizar la conversion de una imagen a arte ASCII.
El American Standard Code for Information Interchange, o ASCII, es un estándar usado en la mayoría de los computadores que contiene una pequeña cantidad de símbolos usados principalmente en el inglés. Aunque los símbolos de este alfabeto, a simpe vista no permite dibujar, en los años 60s algunos artistas decidieron usar estos símbolos para hacer dibujos. Estos dibujos, en su mayoría, usan una técnica similar a la del puntillismo en la cual símbolos que rellenan mas volumen son los puntos más “coloridos” del dibujo. Esto incluso se ha usado en videojuegos como Dwarf Fortress que usan el arte ASCII para mostrar su interfaz grafica.
1link> var img;
2link> var pixeles = 1;
3link> var line;
4link> let pospixel;
5link> let posy = pixeles;
6link> var caracteres = ['#', 'B', 'M', 'D', '*', 'm', 't', 'p', 'o', ';', ':', '-', '´', '.'];
7link>
8link> function preload() {
9link> img = loadImage('/vc/docs/sketches/Taller1/ImagingAndVideo/dodge.png');
10link> }
11link>
12link> function setup() {
13link> createCanvas(720, 500);
14link> background(255);
15link> textFont("monospace", pixeles);
16link> img.resize(720/pixeles, 500/pixeles);
17link> img.loadPixels();
18link> for (var i = 0; i < img.height * 4; i++) {
19link> line = '';
20link> for (var j = 0; j < img.width * 4; j++) {
21link> pospixel = j + i * img.width;
22link> let x = img.pixels[pospixel] + img.pixels[pospixel + 1] + img.pixels[pospixel + 2];
23link> for(var k = 1; k <= caracteres.length; k++){
24link> if(x < 765 * k / caracteres.length){
25link> line += caracteres[k-1];
26link> break;
27link> }
28link> }
29link> j += 1;
30link> }
31link> i += 3;
32link> posy += pixeles;
33link> text(line, 0, posy);
34link> }
35link> }