CONVERTIR IMAGEN EN CIRCULITOS EN PROCESSING - .: .: Saiyine :. :.

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:

  • (871)  Apr 06  JAVA PROGRAMACION  Pasar un numero variable de parametros en Java
  • (874)  May 10  JAVA MD5 PROGRAMACION  Buscando el pseudo-punto fijo del MD5 en Java
  • (57)  Nov 30   PRINCIPAL   La imagen del dia
  • (468)  Nov 30   DELPHI   Convertir un numero en base 10 a una cadena con el numero en la base que quieras
  • (521)  Nov 30   LINUX   Â¿Como puedo montar una imagen ISO (imagenes de CD) y usarla como si fuera un directorio?
  • 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.

    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.


    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

    . . .

    Descargas

  • ApagaPC
    apagapc241.exe  (3265)
  • LimpiaDocus
    LimpiaDocus001.exe  (2534)
  • RCM
    rcm001.zip  (2175)
  • Popmail
    popmail-0.4-psmn.tar.gz  (2248)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (2840)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (2549)
  • Excel Simpsons
    Excel Simpsons  (2789)
  • . . .

    ltimos comentarios

  • 717 - gamaliel: :o :o
  • 884 - Veguerito: gracias...
  • 884 - Saiyine: Parece que hay una libreria llamada curlpas, deberias intentar conseguirla....
  • 884 - Veguerito: Saludos... me gustaria saber si existe una version del curl...
  • 707 - Anonimo: hola soy Eddier mesirbio mucho esos pasos grasias
  • 488 - Saiyine: Se te ha olvidado separarlo, es "uses crt;" con un...
  • . . .

    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  (1060), cacheando webs
  •  Spam.la  (1245), correo de usar y tirar
  •  Mailinator  (1213), correo de usar y tirar
  •  Bug me not  (1094), absurdos registros di NO
  •  Trashmail  (1121), correo de usar y tirar

    . . .
  • Mis wikis

  • Gravastar, VirtualDub, Samuel Eilenberg

    Se suspenden las traducciones de la wikipedia hasta que no se aclaren las condiciones de su adquisición práctica por parte de google.

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

    . . .