Convertir imagen en circulitos en Processing
2008-12-30 02:52:02
Como lo prometido es algo que debe cumplirse, aqui llevais mi primera obra maestra en Processing.
Aunque la primera impresión es que el entorno de programación es una porqueria, y a los 10 minutos ya estaba revisando si se le puede echar mano al código fuente y hacer que el cortar y pegar funcione como dios manda, tengo que admitir que la idea en si es bastante buena: una abstracción basada en la maquina virtual de Java para trabajar con gráficos.
Todo funciona al pelete, aunque igual la ayuda es un poco petarda y el entorno es una mierda. Es sopar unos cuantos ejemplos y ya lo tienes todo para concentrarte en trabajar con imagenes directamente con los valores RGB de cada punto. A ver si encuentro mis viejos programas en Pascal de cuando programar en VGA con 256 colores era tirar un puntero y a jugar, y los vuelvo a la vida con este programazo.
¡Además punto extra porque uno de los dos tipos que han montado esto se apellida Fry! ¡Jugón!
Necesita Java. Pincha en la foto con el ratón.
/**
* CircleandoVisible
*
* - Un sencillo para ir aprendiendo a manejar Processing
* Lee una imagen, y convierte pixeles al azar en circulos de 10 pixeles de diametro al pulsar el ratón
*/
// Variable a la que queremos que pueda acceder todo el programa
PImage img;
void setup()
{
// Carga la imagen de ejemplo
img = loadImage("f16.jpg");
// El tamaño de la pizarra será igual que el de la imagen
size(img.width, img.height);
// La usamos de fondo
image(img, 0, 0);
// Queremos un diseño sin bordes
smooth();
// No ejecutamos el bucle (solo redibujamos con el ratón pulsado)
noLoop();
}
void draw()
{
for(int i = 0; i < 100; i++)
{
int x1 = int(random(0, width));
int y1 = int(random(0, height));
strokeWeight(10);
stroke(color(img.pixels[y1*img.width + x1]), 128);
point(x1,y1);
}
}
void mousePressed()
{
loop();
}
void mouseReleased()
{
noLoop();
}