Convertir imagen en circulitos en Processing

Por Saiyine Enviar correo el 2008-12-30 02:52:02 - Secciones: PROCESSING JAVA APPLET GRAFICOS PROGRAMACION - Enlace permanente: 856

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!

This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.


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();
}

Otras entradas de la web que podrian interesarte:

Gravatar 3044
Banderita Saiyine (2008-12-30 02:55:24)

Se me habia olvidado comentar que que los mouse* controlan el dibujado de circulitos porque arrancan (mousePressed - loop) y paran (mouseReleased - noLoop) el bucle principal del programa.

Gravatar 3188
Banderita Saiyine (2009-03-09 08:22:06)

Parece que seria más interesante si hubiera puesto como origen de los nuevos colores la imagen ya modificada que la de verdad: a largo plazo, tendriamos una imagen muy diferente.

SocializerMenefante Del.icio.us Digg 


Tu nombre (Nick):

Tu correo (Email):
  Necesario para tu gravatar!

Tu página (URL):

Escribe aqui tu comentario:

       :noworry: :roll: :huh: :push: :OO 8) 8O :( :) :? :D :P :o :x :| ;) ^^ xD



Vista previa activada.

Vista previa (6/6/6, 6:66)


Fondos de pantalla

. . .

Recomendamos


. . .

Descargas

  • ApagaPC
    apagapc241.exe  (3540)
  • LimpiaDocus
    LimpiaDocus001.exe  (2828)
  • RCM
    rcm001.zip  (2385)
  • Popmail
    popmail-0.4-psmn.tar.gz  (2463)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (3052)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (2880)
  • Excel Simpsons
    Excel Simpsons  (3046)
  • . . .

    ltimos comentarios

  • 660 - adriana : :noworry:
  • 707 - yaya: hola necesito saber como instalar gratis una version de windows...
  • 358 - Anonimo: necesito...
  • 748 - Anonimo: estan oribeles no jajaja estan chidas
  • 768 - Anonimo: esaaaaaaa cosa esta oprity :roll:
  • 660 - Anonimo: Holaa sta re piolaaa jajaja :D...
  • . . .

    Proyectos Online

  • Saiyine Store
  • Kunowalls!!!
  • Fondos de pantalla
  • Picaday: imagenes sexys o chocantes.
  • Scarlett: fotos de Scarlett Johansson
  • WhatsmyIP: obtener tu IP pública
  • Uma Thurman: galeria de Uma Thurman
  • FunPics: imagenes graciosas
  • . . .

    Blogs

  • Por lo que más querais, no entreis a estos: Tapanez, Yhandros, Onez.

  • Otros en español: El Mundo Today, La libreta de Van Gaal, Chavalina, Kirai, Mundo Geek, Microsiervos.

  • Mis lecturas en guiri: Michael Yon, Coding Horror, YCombinator news, MySQL Performance, Slashdot.

    . . .
  • Utilidades

  •  Coral  (1235), cacheando webs
  •  Spam.la  (1467), correo de usar y tirar
  •  Mailinator  (1385), correo de usar y tirar
  •  Bug me not  (1246), absurdos registros di NO
  •  Trashmail  (1285), correo de usar y tirar

    . . .

  • Busquedas


    Varios ejemplos de lo que buscaban visitantes recientes:

    . . .

    Página web ©2001-2010 Saiyine generada en s, con 4777096 visitas en total, hoy (de un total de 0 previstas).

    . . .