For generating attractive random colors.
This is a PHP port of David Merfield randomColor Javascript utility.
See the results on the demo.
You can pass an options object to influence the type of color it produces. The options object accepts the following properties:
hue – Controls the hue of the generated color. You can pass a string representing a color name (e.g. 'orange'). Possible color names are red, orange, yellow, green, blue, purple, pink and monochrome. You can also pass an array of multiple hues or a specific hue (0 to 360).
luminosity – Controls the luminosity of the generated color. You can pass a string containing bright, light or dark.
alpha – A decimal between 0 and 1. Only relevant when using a format with an alpha channel. Defaults to a random value.
format – A string which specifies the format of the generated color. Possible values are hsv, hsl, hslCss, rgb, rgbCss, hex and their alpha variants hsva, hsla, hlsaCss, rgba, rgbaCss, hexa. Defaults to hex.
prng – A random (or not) number generator. mt_rand
is used as default one.
use \Colors\RandomColor;
// Returns a hex code for an attractive color
RandomColor::one();
// Returns an array of ten green colors
RandomColor::many(10, array(
'hue' => 'green',
));
// Returns a hex code for a light blue
RandomColor::one(array(
'luminosity' => 'light',
'hue' => 'blue',
));
// Returns one yellow or blue color
RandomColors::one(array(
'hue' => array('yellow', 'blue'),
));
// Returns a hex code for a 'truly random' color
RandomColor::one(array(
'luminosity' => 'random',
'hue' => 'random',
));
// Returns a bright color in RGB
RandomColor::one(array(
'luminosity' => 'bright',
'format' => 'rgbCss', // e.g. 'rgb(225,200,20)'
));
// Returns a RGB color with random alpha
RandomColor::one(array(
'format': 'rgbaCss', // e.g. 'rgba(9, 1, 107, 0.648)'
));
// Returns an hex color with specified alpha
RandomColor::one(array(
'format': 'hexa',
'alpha': 0.5, // e.g.: #c17d3480
));
RandomColor is available in JavaScript, C#, C++, Go, Haskell, Kotlin, Mathematica, Python, Swift, Perl6, Objective-C, Java, R, Reason, Dart, Ruby, Rust and Swift.
This project is licensed under the terms of the MIT license.