Skip to content
A small utility to get the colors of an image.
Find file
Latest commit cc708f0 Apr 16, 2011 @josepjaume josepjaume Version bump
Failed to load latest commit information.
bin Stable Nov 10, 2010
features Gardening Nov 11, 2010
lib Version bump Apr 16, 2011
spec Fix specs Apr 16, 2011
.gitignore Remove some dead code Nov 10, 2010
.rspec First commit Nov 10, 2010
.rvmrc Update cli reporter Nov 10, 2010
Gemfile Update cli reporter Nov 10, 2010
Gemfile.lock Fix specs Apr 15, 2011
Rakefile Remove some dead code Nov 10, 2010 Typo Nov 11, 2010
colorant.gemspec Remove some dead code Nov 10, 2010
specs.watchr Extractor draft Nov 10, 2010


Colorant is a small utility to determine which colors are present in a particular image, and how much they appear. It wraps ImageMagick's convert command, so it has to be installed on the system.


Just put it in your Gemfile:

gem "colorant"

And wherever you want, you only need a filename, and you get an array of color percentual frequencies of your image.

Colorant.process "path/to/my/leaves.jpg"
# => [["Brown", 78.95], ["Green", 3.85], ...]

These are other options you can specify:

Colorant.process "file", :colors => 5,      # Default is 8
                         :depth => 24,      # Default is 16
                         :extended => true  # Use more accurate color names

# => [["Vanilla Brown", 78.95], ["Lime Green", 3.85], ...] (up to 5 colors)

Command Line Usage

You can also use colorant from the command line. It is simple:

gem install colorant
colorant path/to/my/photo.jpg --colors 9 --extended

And the output:

  Cocoa Brown       -- 40.54 %
  Moccaccino Red        -- 17.88 %
  Rock Brown        -- 12.76 %

The options you can use are the same as the above explained, just with the CLI-like format.

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add specs for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. If you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull.
  • Send me a pull request. Bonus points for topic branches.


Copyright (c) 2010 Codegram. See LICENSE for details.

Something went wrong with that request. Please try again.