class RGBUtils::RGBToLinearRGBConverter
Constants
- CUTOFF_POINT
- GAMMA
- SLOPE
Attributes
rgb[RW]
Public Class Methods
new(rgb)
click to toggle source
# File lib/rgb_utils/converters/rgb_to_linear_rgb_converter.rb, line 7 def initialize(rgb) @rgb = HexToRGBConverter.convert(rgb) end
Public Instance Methods
convert()
click to toggle source
# File lib/rgb_utils/converters/rgb_to_linear_rgb_converter.rb, line 11 def convert @linear_rgb ||= begin linear_red, linear_green, linear_blue = calculate_linear_rgb LinearRGB.new(red: linear_red, green: linear_green, blue: linear_blue) end end
Private Instance Methods
calculate_linear_rgb()
click to toggle source
# File lib/rgb_utils/converters/rgb_to_linear_rgb_converter.rb, line 23 def calculate_linear_rgb rgb.as_unit_range.map do |color| if color <= CUTOFF_POINT color / SLOPE else ((color + 0.055) / 1.055) ** GAMMA end end end