This wasn't obvious to me at first, but you can temporarily switch to the more malleable HSB color mode, and use it to brighten/dim or saturate/desaturate colors. Here's an example that takes a known color, and makes it brighter and more saturated.
// Start with a known color
color c = color(255,45,23);
// Show it as a web color (for feedback only)
System.out.printf("Original color #%06x\n", c & 0xFFFFFF);
// Change to HSB color space going from 0-100
colorMode(HSB,100);
// Add 10% to the saturation, and 10% to the brightness
c = color( hue(c), saturation(c)+10, brightness(c)+10 );
// Switch back to default RGB colorspace (change this if you are using a non-default color space)
colorMode(RGB, 256);
// Show it as a web color (for feedback only)
System.out.printf("Brighter color #%06x\n", c & 0xFFFFFF);
* * *
You only need to switch back to the RGB colorspace if that's what you use normally. In a lot of my sketches, I just stay in HSB all the time, because it's easier to work with.
One other thing: I wanted to mention that if you are trying to determine *which* pixel is red, so you can choose which x/y coords to draw from, then looping through all the pixels and using get() is extremely inefficient. It's faster, CPU-wise, to use loadPixels and the pixel[] array.