What is it?

This is a port of the randomColor.js script created by David Merfield.

RandomColor generates attractive colors by default. More specifically, RandomColor produces bright colors with a reasonably high saturation. This makes randomColor particularly useful for data visualizations and generative art.

Get the code on GitHub   

Examples

Once you have included RandomColor.class.php on your app, calling RandomColor::one($options) or RandomColor::many($count, $options) will return a random attractive color. Beneath is the live output of 36 generations.

RandomColor::many(36);

You can also pass an options object to randomColor. This allows you to specify the hue, luminosity and the format of colors to generate.

Format

RandomColor::one(array('format'=>'hex'));
  // "#c40fe0"

RandomColor::one(array('format'=>'hsv'));
  // array('h'=>292,'s'=>93,'v'=>88)

RandomColor::one(array('format'=>'hsl'));
  // array('h'=>292,'s'=>86.92,'l'=>47.07999999999999)

RandomColor::one(array('format'=>'rgb'));
  // array('r'=>196.0,'g'=>15.0,'b'=>224.0)

RandomColor::one(array('format'=>'hslCss'));
  // "hsl(292,86.92%,47.08%)"

RandomColor::one(array('format'=>'rgbCss'));
  // "rgb(196,15,224)"

RandomColor::one(array('format'=>'hexa'));
  // "#c40fe010"

RandomColor::one(array('format'=>'hsva'));
  // array('h'=>292,'s'=>93,'v'=>88,'a'=>0.063)

RandomColor::one(array('format'=>'hsla'));
  // array('h'=>292,'s'=>86.92,'l'=>47.07999999999999,'a'=>0.063)

RandomColor::one(array('format'=>'rgba'));
  // array('r'=>196.0,'g'=>15.0,'b'=>224.0,'a'=>0.063)

RandomColor::one(array('format'=>'hslaCss'));
  // "hsla(292,86.92%,47.08%,0.063)"

RandomColor::one(array('format'=>'rgbaCss'));
  // "rgba(196,15,224,0.063)"

Similar colors

RandomColor::many(18, array('hue'=>'red'));
RandomColor::many(18, array('hue'=>'orange'));
RandomColor::many(18, array('hue'=>'yellow'));
RandomColor::many(18, array('hue'=>'green'));
RandomColor::many(18, array('hue'=>'blue'));
RandomColor::many(18, array('hue'=>'purple'));
RandomColor::many(18, array('hue'=>'pink'));
RandomColor::many(18, array('hue'=>'monochrome'));

Multiple colors

RandomColor::many(27, array('hue'=>array('blue', 'yellow')));

Light colors

RandomColor::many(27, array('luminosity'=>'light'));

Dark colors

RandomColor::many(27, array('luminosity'=>'dark'));

Truly random colors

RandomColor::many(36, array('luminosity'=>'random', 'hue'=>'random'));

Random alpha

RandomColor::many(18, array('format' => 'rgbaCss'));
Get this on GitHub