Module: Colorscheme::Algorithms
- Included in:
- Colorscheme
- Defined in:
- lib/colorscheme/algorithms.rb
Instance Method Summary collapse
- #analogous(source, degrees) ⇒ Object
- #complementary(source) ⇒ Object
- #rotate_color(source, degrees) ⇒ Object
- #text_color(source) ⇒ Object
Instance Method Details
#analogous(source, degrees) ⇒ Object
4 5 6 |
# File 'lib/colorscheme/algorithms.rb', line 4 def analogous(source, degrees) [rotate_color(source, degrees), rotate_color(source, -degrees)] end |
#complementary(source) ⇒ Object
8 9 10 |
# File 'lib/colorscheme/algorithms.rb', line 8 def complementary(source) rotate_color(source, 180) end |
#rotate_color(source, degrees) ⇒ Object
12 13 14 15 16 |
# File 'lib/colorscheme/algorithms.rb', line 12 def rotate_color(source, degrees) hsl = source.to_hsl h = 360.0 * hsl.h + degrees Color::HSL.new(h, hsl.s * 100, hsl.l * 100).to_rgb end |
#text_color(source) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/colorscheme/algorithms.rb', line 18 def text_color(source) sum = source.red + source.green + source.blue if sum > 382.5 return Color::RGB.new(0,0,0) else return Color::RGB.new(255,255,255) end end |