Module: Colorscheme::Algorithms

Included in:
Colorscheme
Defined in:
lib/colorscheme/algorithms.rb

Instance Method Summary collapse

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