Color Generator
This gem randomly generates very distinct colors with consistent lightness and saturation.
If you are using these colors as background colors, consistent lightness lets you use the same foreground color for each. Consistent saturation lets you avoid mixing pastels with vibrant colors, etc.
Usage
Add gem 'color-generator'
to your projects Gemfile
and run bundle
, or run gem install color-generator
to install the gem manually.
Then load the library in your code with:
require 'color-generator'
Generate colors using the HSL color representation:
generator = ColorGenerator.new saturation: 0.3, lightness: 0.75
color1 = generator.create_hex
# => "cfd2ac"
color2 = generator.create_hex
# => "cbacd2"
Generate colors using the HSV color representation:
generator = ColorGenerator.new saturation: 0.3, value: 1.0
color1 = generator.create_hex
# => "f7b3ff"
color2 = generator.create_hex
# => "b3ffe0"
If you want to make color generation repeatable, set a seed for the pseudorandom number generator:
generator = ColorGenerator.new saturation: 0.3, value: 1.0, seed: 12345
If you prefer a decimal RGB value, call create_rgb
instead of create_hex
.
Acknowledgements
Thanks to Martin Ankerl for his blog post which inspired this gem.
Copyright (c) 2012 James McKinney, released under the MIT license