topical media & game development 
  
 
 
 
 
  
    
    
  
 graphic-processing-site-examples-Topics-Image-Processing-PixelArray-PixelArray.pde / pde
  
 Pixel Array. 
 
 Click and drag the mouse up and down to control the signal and 
 press and hold any key to see the current pixel being read. 
 This program sequentially reads the color of every pixel of an image
 and displays this color to fill the window.  
  
   
  PImage a;
  int[] aPixels;
  int direction = 1;
  boolean onetime = true;
  float signal;
  
  void setup() 
  {
    size(200, 200);
    aPixels = new int[width*height];
    noFill();
    stroke(255);
    frameRate(30);
    a = loadImage("ystone08.jpg");
    for(int i=0; i<width*height; i++) {
      aPixels[i] = a.pixels[i];
    }
  }
  
  void draw() 
  {
    if (signal > width*height-1 || signal < 0) { 
      direction = direction * -1; 
    }
  
    if(mousePressed) {
      if(mouseY > height-1) { mouseY = height-1; }
      if(mouseY < 0) { mouseY = 0; }
      signal = mouseY*width+mouseX;
    } else {
      signal += (0.33*direction);  
    }
    
    if(keyPressed) {
      loadPixels();
      for (int i=0; i<width*height; i++) { 
        pixels[i] = aPixels[i];  
      }
      updatePixels();
      rect(signal\%width-5, int(signal/width)-5, 10, 10);
      point(signal\%width, int(signal/width));
    } else {
      loadPixels();
      for (int i=0; i<width*height; i++) { 
        pixels[i] = aPixels[int(signal)];
      }
      updatePixels();
    }
  }
  
  
  
  
(C) Æliens 
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher. 
In case of other copyright issues, contact the author.