Module: ColoR
- Defined in:
- lib/color.rb,
lib/color/version.rb
Overview
Offering functionality to get the complementary colors of a given input.
Defined Under Namespace
Classes: Error
Constant Summary collapse
- VERSION =
"0.1.6"
Class Method Summary collapse
- .get_analogous_scheme(color) ⇒ Object
- .get_complementary_color(color) ⇒ Object
- .get_monochromatic_color(color) ⇒ Object
- .hex_to_hsv(hex_color) ⇒ Object
- .hsv_to_hex(hsv_color) ⇒ Object
Class Method Details
.get_analogous_scheme(color) ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/color.rb', line 27 def self.get_analogous_scheme(color) raise HexCodeError.new("Not a valid Hex Color"), color unless ::Hex.hex?(color) hsv_color = hex_to_hsv(color) analogous_colors = [] analogous_colors.push(hsv_to_hex(HSV.add_hue_to_hsv(15, [hsv_color[0], hsv_color[1], hsv_color[2]]))) analogous_colors.push(hsv_to_hex(HSV.add_hue_to_hsv(330, [hsv_color[0], hsv_color[1], hsv_color[2]]))) analogous_colors end |
.get_complementary_color(color) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/color.rb', line 10 def self.get_complementary_color(color) raise HexCodeError.new("Not a valid Hex Color"), color unless ::Hex.hex?(color) rgb_color = ::RGB.hex_to_rgb(color) comp_r = [255 - rgb_color[0], 255 - rgb_color[1], 255 - rgb_color[2]] ::RGB.rgb_to_hex(comp_r) end |
.get_monochromatic_color(color) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/color.rb', line 18 def self.get_monochromatic_color(color) raise HexCodeError.new("Not a valid Hex Color"), color unless ::Hex.hex?(color) hue_color = hex_to_hsv(color) mono_color = ::HSV.calculate_monochromatic_color(hue_color) mono_rgb = ::HSV.hsv_to_rgb(mono_color[0], mono_color[1], mono_color[2]) ::RGB.rgb_to_hex(mono_rgb) end |
.hex_to_hsv(hex_color) ⇒ Object
37 38 39 40 |
# File 'lib/color.rb', line 37 def self.hex_to_hsv(hex_color) rgb_color = ::RGB.hex_to_rgb(hex_color) ::HSV.rgb_to_hsv(rgb_color) end |
.hsv_to_hex(hsv_color) ⇒ Object
42 43 44 45 |
# File 'lib/color.rb', line 42 def self.hsv_to_hex(hsv_color) rgb_color = ::HSV.hsv_to_rgb(hsv_color[0], hsv_color[1], hsv_color[2]) ::RGB.rgb_to_hex(rgb_color) end |