1/**
2 * Pixelate
3 * by Hernando Barragan.
4 *
5 * Load a QuickTime file and display the video signal
6 * using rectangles as pixels by reading the values stored
7 * in the current video frame pixels array.
8 */
9
10
11import processing.video.*;
12
13int numPixels;
14int blockSize = 10;
15Movie myMovie;
16color myMovieColors[];
17
18void setup() {
19  size(640, 480, P2D);
20  noStroke();
21  background(0);
22  myMovie = new Movie(this, "station.mov");
23  myMovie.loop();
24  numPixels = width / blockSize;
25  myMovieColors = new color[numPixels * numPixels];
26}
27
28// Read new values from movie
29void movieEvent(Movie m) {
30  m.read();
31  m.loadPixels();
32
33  for (int j = 0; j < numPixels; j++) {
34    for (int i = 0; i < numPixels; i++) {
35      myMovieColors[j*numPixels + i] = m.get(i, j);
36    }
37  }
38}
39
40// Display values from movie
41void draw()  {
42  for (int j = 0; j < numPixels; j++) {
43    for (int i = 0; i < numPixels; i++) {
44      fill(myMovieColors[j*numPixels + i]);
45      rect(i*blockSize, j*blockSize, blockSize-1, blockSize-1);
46    }
47  }
48}
49