UCSB Science Line
Sponge Spicules Nerve Cells Galaxy Abalone Shell Nickel Succinate X-ray Lens Lupine
UCSB Science Line
Home
How it Works
Ask a Question
Search Topics
Webcasts
Our Scientists
Science Links
Contact Information
I'm wondering why, on a computer, red (R), green (G), and blue (B) together make white, but cyan, yellow, and magenta make dark gray. Then you have to add black (K) to make a complete black, but in RGB you don't need an extra color to make white.
Question Date: 2001-07-09
Answer 1:

Adding and subtracting colors

When you mix colors to make white you are adding the colors.
When you mix colors to get black or brown you are subtracting the colors.
When you take different color lights and mix them, then you are adding colors.
This is what happens in a computer monitor.
When you take different color inks and mix them, then you are subtracting colors.
This is what happens when printing onto paper. Ink only has its color because when you shine white light on it, it subtracts all the colors except the ones you see.
R,G, and B are the usual primary colors for adding.
These are the primary colors in a monitor. They form the RGB palette.
C, M, and Y are the usual primary colors for subtracting.
These are the primary colors for ink. They form the CMY palette.
-----------------------------------------
Why CMYK, but no RGBW?
-----------------------------------------
The reason you need to add black (K) to the CMY palette, but you don't have to add
white to the RGB palette, is because it is easier to mix light than it is to mix ink.
If ink colors were pure CMY and mixed absolutely perfectly then they would mix to become black. But ink colors are not pure and they do not mix perfectly. So you have to add some black to help make a pure black.
Some programs like Photoshop seem to let you subtract colors with a CMYK palette.
But this is just a simulation to help you visualize what will appear on the printed page.
Since your monitor is RGB, Photoshop is converting the CMYK to RGB in order to
display it on the screen.
------------------------
The color gamut
------------------------
The primary additive colors don't have to be RGB and the primary subtractive colors
don't have to be CMY.
If you subtract R-G-B you will also get black, and if you add C+M+Y you will also get white.
Any three colors that add to white are additive primary colors.
Any three colors that subtract to black are subtractive primary colors.
The color GAMUT is the range of colors that you can make by mixing together your choice of primary colors.
You can visualize the gamut for color mixing at this web site:
http://www.cs.rit.edu/~ncs/color/a_chroma.html
The blob of colors on the site is a color map. It is a representation of all the possible colors.
Just click your three primary colors.
The area inside the triangle is the gamut for your choice of primary colors.
These are the colors you can actually make by adding or subtracting different combinations of your primary colors.
The area outside the triangle are colors that you CANNOT make by mixing your primary colors.
1. Which has a bigger gamut, RGB, or CMY?
2. What happens to the gamut when you pick different shades of R,G, and B?
3. What three primary colors gives you the biggest gamut?
4. Is it easy to fit orange inside any gamut? How about deep purple?
5. Are there any three primary colors with a gamut that contains every single color?
Notice that many of the colors on the web site look the same, when they are supposed to be different.
6. Do you think that your monitor has a gamut?
7. Can you see colors on your monitor that are outside the gamut of your monitor?
Here is a Deep Thought question:
8. Do you think that the colors that you are viewing on your monitor are the actual colors?

Answer 2:

The issue here is that the Red,Green, Blue addition is actually adding different frequencies of light on a monitor. (Monitors are carefully balanced to produce white when all colors are full 'on').
Adding cyan, yellow and magenta on a monitor will also give white -- I think that you are adding them using a printer (i.e an ink jet device). In such a device, colors are achieved by subtracting reflected colors from white-- Ideally, cyan, magenta and yellow are
negative colors i.e. yellow is blue and green, magenta is blue and red and cyan is red and green.
Then by adding ink drops of these colors, you can make any combination of the positive colors --
i.e. if you add a cyan drop and a yellow drop you get pure green etc.
The hitch comes from the relative sensitivity of the eye which is much more sensitive to green than to red or blue and that yellow is a very narrow spectral component and worse, your eye can see yellow even if no yellow is in the
picture. (Your eye is sensitive to red and blue and green and see yellow when both the red and green dyes are excited.)
When all three dyes are added together, you get a sort of greenish brown
-- because the dyes don't match your eye's sensitivity curves. Black dyes (especially carbon blacks) are truly black in the sense that they readily absorb light over the visible spectrum (and some infrared as well).
There is a lot of color information on the net -- the subject is of great importance to publishers and printers. You might check out:
http://microscopy.fsu.edu/primer/java/colorseparation/
http://home.att.net/~RTRUSCIO/COLORSYS.htm

Answer 3:

This is a very good question. It has to do with the way colors of light are added. First of all, you have seen how a prism splits white light into a rainbow of colors, so you know that white light contains all these colors.
If you shine red and blue and green lights together in equal proportions, you can make white light; If you take white light and subtract out one of these primary colors, you get the resulting primary pigment. Adding colors on a computer screen is done by adding varying amounts of red, blue, and green light to make a color of light. Cyan = B + G = White - R, and magenta = R + B = White - G, and yellow = R + G = White - B.
The colors in the computer are given numbers between 0 and 255, in each color (RGB) register. (0,0,0) is black, and (255, 255, 255) is white. So, it depends on the amount of R, G, and B that are used to make cyan, magenta, and yellow. Since each program operates a bit differently, it depends on just how much "color" you end up with after you add the colors ...
for example:
cyan could be made up as (0, 255, 255), then magenta would be (255, 0, 255) and yellow would be (255, 255, 0), so when you add them you would not get black.
Computer colors are LIGHT colors, and mixing light is color ADDITION, and adding pure R + G + B light gives you white. But when you add pigments on paper, as in with paints or crayons, you are adding colors by SUBTRACTION, so C + Y + M = black, not white, because cyan is really White - red, and magenta is really white - green, and yellow is really white - blue.
That is, if you shine white light onto a purely cyan colored piece of cloth, it will look cyan because it absorbs the red light component from the white light, and reflects the green and blue components, thus appearing cyan to your eye. (But if you shine red light on a purely cyan object, it will appear BLACK because it absorbs all red light that falls on it, and if you give it nothing to reflect, it will appear black! Cool, try it!)
This is a SUBTRACTIVE process, whereas if you mix green and blue lights in equal proportions, you will make cyan light - which is an ADDITIVE process.
The computer screen is mixing colors by ADDITION, that is, by ADDING colors of light, rather than subtracting out colors of light and REFLECTING only certain colors of the rainbow.
Now, in some computer programs, colors are defined by the ADDITION of the RGB components, in an 8-bit integer, like this:
For example, the number 5,431 is 51000 + 4100 +310 + 11, right?
Each column or place value in our decimal counting is a power of 10.
1 = 100; 10 = 101; 100 = 102; 1000 = 103
Now, you can represent a color on a computer screen as a number like this, in "RGB", where the red value is R x 2562, the green value is G x 256, and the blue value is Bx2560 or just B. Cyan could be written then, as 0x2562 + 255x256 + 255 0r 65535;
magenta would be 255x2562 + 0x256+255 or 16711935, and yellow would be 255x2562 + 255x256 + or .1677696.
White would be 255x2562 + 255x256+255 = 16777215.
So when you add up C+Y+M like this, you will get a residual which is grey, and you then have to darken this.
To make life even more complicated, many programs work in hexadecimal, or "base 16", which means that you have to add 6 "digits" above the numeral 9 , so that to count in hexadecimal you count 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
So just as in our usual base 10, or decimal system, 10 means 1x10 + 0x1,
writing 10 in hexadecimal means 1x16 + 0x1, or 16. The numeral 10 in hexadecimal is equivalent to 16 in decimal. In decimal system, the columns to the left of the decimal point mean powers of 10, in hexadecimal, they mean powers of 16. The ones column still means ones (because anything raised to the zero power is still one, and the "ones" column is really 160 in hexadecimal), but the next column to the left means "sixteens" or 161; the next column to the left means 162 or "two-hundred-fifty-sixes".
So, in hexadecimal FF is equivalent to the decimal number 256, or 15x16 + 16. That is how you may have to display numbers in certain programming languages... for example, in HTML the numbers are indicated in hexadecimal, but in Visual Basic they are indicated in decimal equivalents, like the numeric example I gave you above where I was multiplying by powers of 256.
Just another comment - in hexadecimal, as I said, the columns of numbers go as powers of 16, if you recall that 16 = 4x4 or 42, and 4 = 2x2, then 16 = 2x2x2x2 = 24, and 162 then is 24 x 24 which is 28, so 256 = 162 = 28,
and that is what they mean by 8-bit color representation! Name


Click Here to return to the search form.

University of California, Santa Barbara Materials Research Laboratory National Science Foundation
This program is co-sponsored by the National Science Foundation and UCSB School-University Partnerships
Copyright © 2020 The Regents of the University of California,
All Rights Reserved.
UCSB Terms of Use