// Baed on examples by Daniel Shiffman PImage[] imgs = new PImage[4]; // loaded images PImage img; // current image int curImg = 0; // current image void setup() { size(296,400); smooth(); rectMode(CENTER); for(int i = 0; i < imgs.length; i ++) imgs[i] = loadImage("img-"+(i+1)+".jpg"); img = imgs[curImg]; } void draw() { background(0); // get the tile size by looking at the color float s = map(mouseX,0,width,2,12); // draw a rect mosaic noStroke(); for (float y = s/2; y < img.height; y += s+1) { for (float x = s/2; x < img.width; x += s+1) { color pixel = img.get(int(x),int(y)); float b = brightness(pixel) / 255.0; rect(x,y,s*b,s*b); } } } void keyPressed() { if(key == ' ') { curImg = (curImg+1)%imgs.length; img = imgs[curImg]; } } // START NO NOTES // code used to capture screenshots void keyReleased() { if(key == '`' && !online) save("sketch.png"); }