FAQ
 
 
Cover  \ Exhibition  \ Learning  \ Reference  \ Download  \ Discourse   
    Examples \ Tutorials \ Courses & Workshops
 
   
 
 
Examples for Processing (BETA) version 91+. If you have a previous version, use the examples included with your software. If you see any errors or have comments, please let us know.



Linear Image
by REAS <http://reas.com>

Click and drag mouse up and down to control the signal. Press and hold any key to watch the scanning.

Created 10 August 2002

   
// Linear Image 
// by REAS <http://reas.com> 

PImage a; 
boolean onetime = true; 
int[] aPixels = new int[200*200]; 
int direction = 1; 
 
float signal; 
 
void setup() 
{ 
  size(200, 200); 
  stroke(255); 
  a = loadImage("florence03.jpg"); 
  for(int i=0; i<width*height; i++) { 
    aPixels[i] = a.pixels[i]; 
  } 
  framerate(30); 
} 
 
void draw() 
{ 
  if (signal > width-1 || signal < 0) { 
    direction = direction * -1; 
  } 
 
  if(mousePressed) { 
    signal = abs(mouseY%height); 
  } else { 
    signal += (0.3*direction);  
  } 
  
  
  if(keyPressed) { 
    loadPixels(); 
    for (int i=0; i<width*height; i++) { 
      pixels[i] = aPixels[i];  
    } 
    updatePixels(); 
    line(0, signal, width, signal); 
  } else { 
    loadPixels(); 
    for (int i=0; i<width*height; i++) { 
      pixels[i] = aPixels[int((width*int(signal))+(i%width))]; 
    } 
    updatePixels(); 
  } 
  
} 
 







   
  Processing is an open project initiated by Ben Fry and Casey Reas  
  © Info