public static int desaturate(int c){
  int a=c & 0xff000000;
  float r=((c & 0xff0000) >> 16);
  float g=((c & 0x00ff00) >> 8);
  float b=(c & 0x0000ff);
  r*=0.2125f;
  g*=0.7154f;
  b*=0.0721f;
  int gray=Math.min(((int)(r + g + b)),0xff) & 0xff;
  return a | (gray << 16) | (gray << 8)| gray;
}

public static int desaturate ( int c ) { int a = c & 0xff000000 ; float r = ( ( c & 0xff0000 ) > > 16 ) ; float g = ( ( c & 0x00ff00 ) > > 8 ) ; float b = ( c & 0x0000ff ) ; r *= 0.2125f ; g *= 0.7154f ; b *= 0.0721f ; int gray = Math . min ( ( ( int ) ( r + g + b ) ) , 0xff ) & 0xff ; return a | ( gray << 16 ) | ( gray << 8 ) | gray ; }
get a desaturated shade of an input color .
