Brightness Pixels

/** * Brightness Pixels * by Daniel Shiffman. * * This program adjusts the brightness of a part of the image by * calculating the distance of each pixel to the mouse. */ PImage* img; void setup() { size(640, 360); frameRate(30); img = loadImage("moon-wide.jpg"); img->loadPixels(); // Only need to load the pixels[] array once, because we're only // manipulating pixels[] inside draw(), not drawing shapes. loadPixels(); } void draw() { for (int x = 0; x < img->width; x++) { for (int y = 0; y < img->height; y++) { // Calculate the 1D location from a 2D grid int loc = x + y * img->width; // Get the R,G,B values from image float r, g, b; r = red(img->pixels[loc]); //g = green(img->pixels[loc]); //b = blue(img->pixels[loc]); // Calculate an amount to change brightness based on proximity to the mouse float maxdist = 50; //dist(0,0,width,height); float d = dist(x, y, mouseX, mouseY); float adjustbrightness = 255 * (maxdist - d) / maxdist; r += adjustbrightness; //g += adjustbrightness; //b += adjustbrightness; // Constrain RGB to make sure they are within 0-255 color range r = constrain(r, 0, 255); //g = constrain(g, 0, 255); //b = constrain(b, 0, 255); // Make a new color and set pixel in the window //color c = color(r, g, b); color c = color(r); pixels[y * width + x] = c; } } updatePixels(); }