lunedì 25 gennaio 2010

PixeLine


This simple sketch controls pixel's colors of a picture and makes a line of the same color of the pixel itself if its color's value is in a certain range determined by cursor's position.
  • Left = Red
  • Rigth = Blue
  • Up = Green
For the first time I used OpenProcessing.org to run a sketch online, and this is a good thing! Enjoy!




And obviously, here is the code!

/* PixeLine. Makes lines over a pixel of the same color of 
 * the pixel itself if color's value is in a certain range 
 * determined by cursor's position. 
 * Writed by Francesco Aggazio and licensed under Creative 
 * Commons Attribution-Share Alike 3.0 Unported. 
 */ 
  
 
PImage img = loadImage("cubo.png"); 
color[] pic = new color[img.width * img.height]; 
 
 
void setup() 
{ 
  size(420, 315); 
  img.loadPixels(); 
  arrayCopy(img.pixels, pic); 
} 
 
 
void draw() 
{ 
  image(img, 0, 0); 
  color colo = 0; 
  arrayCopy(pic, img.pixels); 
  for (int i = 0; i < (width * height); i++) 
  { 
    int l = int(random(1) * 20); 
    int r = int(map(mouseX, 0, width, 254, 0)); 
    int g = int(map(mouseY, 0, height, 254, 0)); 
    int b = int(map(mouseX, 0, width, 0, 254)); 
    if (red(img.pixels[i]) < r && green(img.pixels[i]) < g && blue(img.pixels[i]) < b) 
    { 
      colo = img.pixels[i]; 
      for (int a = 0; a < l; a++) 
      { 
        int v = i - (width * a); 
        if ( v < 0) 
        { 
          v = 0; 
        } 
        img.pixels[v] = colo; 
      } 
    } 
  } 
  img.updatePixels(); 
} 

7 commenti:

  1. non riesco a staccarmi da sto coso

    RispondiElimina
  2. oooooooooooooooooooooooooo

    ma io non capisco neanche
    che significa
    Left = Red
    Rigth = Blue
    Up = Green

    non so se posso permanere nel blog con livelli informatici così radicalmente primitivi, cioè nenahce le direzioni capisco

    RispondiElimina
  3. È semplice Halvaro, se il cursore del mouse è a sinistra vengono allungati i pixel più rossi, a destra i più blu, in alto i più verdi.

    RispondiElimina
  4. io "una stringa d'uomo che ti vede in giro" lo rispetto troppo. È veramente copper.

    RispondiElimina
  5. Sarebbe "che ti vede in grigio." Ma "in giro" è 7 * 7 volte + 23, mo lo cambio.

    RispondiElimina
  6. io giurerei di averci letto "una stringa d'uomo che ti vede grigio" in effetti.
    pensi che possa essere accaduto veramente?
    ma se io non capisco la differenza tra un transistor e un repository, a quale sephirot devo mandare il formulario rosacruciano per essere comunque accolto nel regno dei cieli quando sarà il momento?

    RispondiElimina
  7. Questo argomento è già stato discusso nel forum.
    Ad ogni modo dovresti consulatare le F.A.Q. del libero elettricista newbie.

    RispondiElimina