0.05
No commit activity in last 3 years
No release in over 3 years
Randomly generate distinct colors with consistent lightness and saturation
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 2.10
 Project Readme

Color Generator

Gem Version Build Status Coverage Status Code Climate

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