sábado, 23 de junio de 2012
Propuesta de ASCII Art en Processing PT 2
El primer acercamiento que se tuvo se ve bastante bien, pero es necesario mejorar la cantidad de caracteres. Aquí el código.
PImage img;
int cols, rows;
int altoAscii = 10;
float cellw, cellh;
PFont font;
void setup() {
size(444,599);
img = loadImage("CuencaCollage_by_Ultraforce777.png");
//cargar tipografía
font = loadFont("Ubuntu-48.vlw");
}
void draw() {
cellw = int(altoAscii/2);
cellh = int(altoAscii);
cols = int(img.width/cellw);
rows = int(img.height/cellh);
for(int i=0; i<cols; i++) {
for(int j=0; j<rows; j++) {
float x = i*cellw;
float y = j*cellh;
int k = int(x)+int(y)*img.width;
int rojo = int(red(img.pixels[k]));
int verde = int(green(img.pixels[k]));
int azul = int(blue(img.pixels[k]));
int gris = int((rojo+verde+azul)/3);
String caracter = "";
if(gris>0&&gris<=25){caracter = "#";}
if(gris>25&&gris<=50){caracter = "@";}
if(gris>50&&gris<=100){caracter = "&";}
if(gris>100&&gris<=150){caracter = "i";}
if(gris>150&&gris<=200){caracter = "*";}
if(gris>200&&gris<=250){caracter = "+";}
if(gris>250&&gris<=255){caracter = ".";}
fill(0);
textFont(font, altoAscii);
textAlign(LEFT);
text(caracter, i*altoAscii*0.5, j*altoAscii);
}
}
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario