heres what wikipedia says...dont hate on me because I used Wiki too...
All chameleon species are able to change their skin color. Changing
color is an expression of the physical and physiological condition of
the lizard.
[5] The color also plays a part in communication.
Different chameleon species are able to change different colors
which can include pink, blue, red, orange, green, black, brown and
yellow. 
[6][7]
Chameleons are naturally coloured for their surroundings as a
camouflage. However, recent research has indicated that Chameleons may
use colour changes as a method of communication, including to make
themselves more attractive to potential mates.
[8]
Chameleons have specialized cells, collectively called 
chromatophores, that lie in layers under their transparent outer skin. The cells in the upper layer, called 
xanthophores and 
erythrophores, contain yellow and red 
pigments respectively. Below these is another layer of cells called 
iridophores or 
guanophores, and they contain the colourless crystalline substance 
guanine. These reflect, among others, the blue part of incident 
light. If the upper layer of chromatophores appears mainly yellow, the reflected light becomes 
green (
blue plus 
yellow). A layer of dark 
melanin
containing melanophores is situated even deeper under the reflective
iridophores. The melanophores influence the 'lightness' of the
reflected light. All these pigment cells can rapidly relocate their
pigments, thereby influencing the colour of the chameleon.