class Camalian::Palette
Collection of colors with some useful features
Public Class Methods
from_hex(hex_values)
click to toggle source
# File lib/camalian/palette.rb, line 6 def self.from_hex(hex_values) new(hex_values.map { |v| Color.from_hex(v) }) end
Public Instance Methods
average_color()
click to toggle source
# File lib/camalian/palette.rb, line 26 def average_color r = map(&:r).inject(&:+) g = map(&:g).inject(&:+) b = map(&:b).inject(&:+) size = self.size Color.new(r / size, g / size, b / size) end
light_colors(limit1, limit2)
click to toggle source
# File lib/camalian/palette.rb, line 35 def light_colors(limit1, limit2) min = [limit1, limit2].min max = [limit1, limit2].max table = dup Palette.new(table.delete_if { |color| color.l > max or color.l < min }) end
sort_by_hue()
click to toggle source
# File lib/camalian/palette.rb, line 14 def sort_by_hue Palette.new(sort_by(&:h).reverse) end
sort_by_lightness()
click to toggle source
# File lib/camalian/palette.rb, line 10 def sort_by_lightness Palette.new(sort_by(&:l).reverse) end
sort_by_saturation()
click to toggle source
# File lib/camalian/palette.rb, line 22 def sort_by_saturation Palette.new(sort_by(&:s).reverse) end
sort_similar_colors()
click to toggle source
# File lib/camalian/palette.rb, line 18 def sort_similar_colors Palette.new(sort_by(&:hsv)) end
to_hex()
click to toggle source
# File lib/camalian/palette.rb, line 42 def to_hex map(&:to_hex) end