Credit goes to Boris on sciforums for this nice concise reply...

*Note from me... Please, if you notice any new changes in vision, halos, floaters, etc... let your doctor know. Many serious conditions can cause these visual changes.

Those "colors" and "patterns" are nothing but retinal noise. The human retina is actually a pretty noisy light detector, but usually when there is abundant input there is enough signal present to overwhelm the noise to a point that the noise is not noticeable. When you get into a very dark room or close your eyes, you lose the signal and the noise takes over. There are ways to amplify the noise by mechanically stimulating the retina -- e.g. apply some mild pressure to your eyeballs.

The "negative" images you see when you look at an object for a long time, or at a bright light for a short time, and close your eyes -- are also artifacts of noise. The human retina is just an array of photoreceptors. By holding an image over the retina for a long time, or exposing the retina to a very bright image, you "tire out" the receptors that were receiving the brighter parts of the image. When you close your eyes, all receptors produce noise -- but those that are tired produce less noise. So, you end up seeing a "negative" image.

For example, the human retina has three distinct color receptors -- that detect red, green and blue light. Try this experiment: get a green sheet of paper, and paste a red circle on it. Hold the assemblage in front of your eyes so that it covers your entire field of view, and try to hold your gaze fixed on the circle. After a few seconds, close your eyes and cover them over by your hands, so as to enhance the 'darkness'. You will see an aquamarine circle superimposed on a magenta background -- a negative image of what you were looking at. That's because among the receptors that received light from the circle, the red-color ones are tired and produce less noise, while the green and blue are not tired and their noise overwhelms the red noise. So, where there used to be a circle you see a mixture of green and blue -- aquamarine. Similarly, among those receptors that were looking at the green background, the green are tired while the red and blue are producing most of the noise -- so you see a mixture of red and blue, or magenta.

Another cool experiment to try, is to hold a plain green, red or blue sheet in front of your eyes so as to cover your entire field of view, for a minute or so. Then take it away, and you will experience a 'color-filtered' world. That's because this will tire out one type of color receptors in your eye, and they will not produce as much output as they would if they weren't tired -- the perceived effect being as if there was less of that hue of light in the world. For example, if you were holding a green sheet in front of your eyes, when you take it away everything will take on a magenta hue.

Sometimes you get black/white silhouettes from looking at bright pictures. White light is a mixture of red, green and blue (among other wavelengths) -- so it stimulates all of your color receptors equally. When a cluster of all three types of receptors becomes more "tired" than the surrounding receptors, what you see is a dark spot on a lighter background.

Of course, these effects dissipate gradually, as your retina restores its balance. So don't worry about permanently screwing up your eyesight, have fun!