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
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.
RandomColor::one(array('format'=>'hex'));
// "#4b9b0a"
RandomColor::one(array('format'=>'hsv'));
// array('h'=>93,'s'=>93,'v'=>61)
RandomColor::one(array('format'=>'hsl'));
// array('h'=>93,'s'=>86.9200000000000017053025658242404460906982421875,'l'=>32.634999999999990905052982270717620849609375)
RandomColor::one(array('format'=>'rgb'));
// array('r'=>75.0,'g'=>155.0,'b'=>10.0)
RandomColor::one(array('format'=>'hslCss'));
// "hsl(93,86.92%,32.635%)"
RandomColor::one(array('format'=>'rgbCss'));
// "rgb(75,155,10)"
RandomColor::one(array('format'=>'hexa'));
// "#4b9b0a00"
RandomColor::one(array('format'=>'hsva'));
// array('h'=>93,'s'=>93,'v'=>61)
RandomColor::one(array('format'=>'hsla'));
// array('h'=>93,'s'=>86.9200000000000017053025658242404460906982421875,'l'=>32.634999999999990905052982270717620849609375,'a'=>NULL)
RandomColor::one(array('format'=>'rgba'));
// array('r'=>75.0,'g'=>155.0,'b'=>10.0,'a'=>NULL)
RandomColor::one(array('format'=>'hslaCss'));
// "hsla(93,86.92%,32.635%,)"
RandomColor::one(array('format'=>'rgbaCss'));
// "rgba(75,155,10,)"
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'));
RandomColor::many(27, array('hue'=>array('blue', 'yellow')));
RandomColor::many(27, array('luminosity'=>'light'));
RandomColor::many(27, array('luminosity'=>'dark'));
RandomColor::many(36, array('luminosity'=>'random', 'hue'=>'random'));
RandomColor::many(18, array('format' => 'rgbaCss'));