Skip to content

Instantly share code, notes, and snippets.

@softa
Created February 23, 2010 14:19
Show Gist options
  • Save softa/312192 to your computer and use it in GitHub Desktop.
Save softa/312192 to your computer and use it in GitHub Desktop.
require 'RMagick'
img = Magick::ImageList.new( logo )
white = 768
expected_saturation = white*0.65
colors = []
img.quantize(30).color_histogram.each{|c|
r,g,b = [c[0].red, c[0].green, c[0].blue].map{|c| c/256 }
soma = r + g + b
points = 0
points += (soma - expected_saturation).abs*3
points += (256 - r)
points += (256 - g)
points += (256 - b)
colors << [points, r, g, b]
}
cs = colors.sort_by{|c| c[0] }.map{|_,r,g,b|
'#' + [r,g,b].map{|c| c.to_s(16).rjust(2,'0')}.join
}[0..5]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment