// This code loads an image, then displays it. When the 't'
// key is pressed, the image on the screen is transformed in
// the way you define. When the 'u' key is pressed, the image
// goes back to the original image.
PImage verasImg;
float scaling;
void setup() {
// load the image out of memory and display it to the screen
verasImg = loadImage("IMG_6225.JPG");
//scale to fit window
scaling = 500.0 / verasImg.height;
size(400, 400);
}
void draw() {
if (keyPressed) {
if (key == 'u') {
image(verasImg, 0, 0, verasImg.width *scaling, verasImg.height * scaling);
}
else if (key == 't') {
loadPixels();
for (int i = 0; i < pixels.length; i++) {
pixels[i] = transform(i);
}
updatePixels();
}
}
}
// Some ideas of what 'transform' could do:
// Add noise to the pixel
// Rotate the pixel's red, green, and blue components
// Color invert the pixel
// Increase hue, saturation, or brightness by some fixed value
// or some percentage
// Average with the previous or next pixel's values (watch out for when
// you are at the edge of the image!)