PImage img; void setup() { size(500, 500); img = createImage(500, 500, RGB); for (int i = 0; i < img.pixels.length/2; i++) { img.pixels[i] = color(0, 150, 102); } for (int i = img.pixels.length/2; i < img.pixels.length; i++) { img.pixels[i] = color(200, 100, 32); } image(img, 0, 0); } void draw(){ loadPixels(); for (int x = 0; x < img.width; x++) { for (int y = 0; y < img.height; y++ ) { int loc = x + y*img.width; float r = red (img.pixels[loc]); float g = green (img.pixels[loc]); float b = blue (img.pixels[loc]); float distance = dist(x,y,mouseX,mouseY); float adjustBrightness = (100-distance)/100; r *= adjustBrightness; g *= adjustBrightness; b *= adjustBrightness; r = constrain(r,0,255); g = constrain(g,0,255); b = constrain(b,0,255); color c = color(r,g,b); pixels[loc] = c; } } updatePixels(); }