Method: Chroma::Converters::RgbConverter#convert_hsv
- Defined in:
- lib/chroma/converters/rgb_converter.rb
#convert_hsv ⇒ ColorModes::Rgb
Convert hsv to rgb.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/chroma/converters/rgb_converter.rb', line 35 def convert_hsv h, s, v = @input h = bound01(h, 360) * 6 s = bound01(s, 100) v = bound01(v, 100) i = h.floor f = h - i p = v * (1 - s) q = v * (1 - f * s) t = v * (1 - (1 - f) * s) mod = i % 6 r = [v, q, p, p, t, v][mod] * 255 g = [t, v, v, q, p, p][mod] * 255 b = [p, p, t, v, v, q][mod] * 255 ColorModes::Rgb.new(r, g, b, bound_alpha(@input.a)) end |