Extracts the red value from a color, scaled to match current colorMode(). The value is always returned as a float, so be careful not to assign it to an int value.

The red() function is easy to use and understand, but it is slower than a technique called bit shifting. When working in colorMode(RGB, 255), you can achieve the same results as red() but with greater speed by using the right shift operator (>>) with a bit mask. For example, the following two lines of code are equivalent means of getting the red value of the color value c:

 float r1 = red(c); // Simpler, but slower to calculate
 float r2 = c >> 16 & 0xFF; // Very fast to calculate 


  • size(400, 400);
    color c = color(255, 204, 0);  // Define color 'c'
    fill(c);  // Use color variable 'c' as fill color
    rect(60, 80, 140, 240);  // Draw left rectangle
    float redValue = red(c);  // Get red in 'c'
    println(redValue);  // Print "255.0"
    fill(redValue, 0, 0);  // Use 'redValue' in new fill
    rect(200, 80, 140, 240);  // Draw right rectangle
    Image output for example 1


  • red(rgb)


  • rgb(int)any value of the color datatype


  • float