module
Opal::ColorSpaces
Overview
Color space conversion engine providing exact transformations between sRGB, CIE XYZ (D65), CIELAB (Lab*), Oklab / Oklch, CMYK, HSL, and HSV.
Defined in:
opal/style/color_spaces.crConstant Summary
-
D65_X =
0.95047 -
D65 standard illuminant reference white points (2° standard observer)
-
D65_Y =
1.00000 -
D65_Z =
1.08883
Class Method Summary
-
.cmyk_to_rgb(c : Float64, m : Float64, y : Float64, k : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts CMYK [0.0..1.0] to sRGB [0..255]
-
.hsl_to_rgb(h : Float64, s : Float64, l : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts HSL (H in [0..360°], S in [0.0..1.0], L in [0.0..1.0]) to sRGB [0..255]
-
.hsv_to_rgb(h : Float64, s : Float64, v : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts HSV (H in [0..360°], S in [0.0..1.0], V in [0.0..1.0]) to sRGB [0..255]
-
.lab_to_rgb(l : Float64, a : Float64, b : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts CIELAB (L*, a*, b*) to sRGB [0..255]
-
.linear_to_srgb(c : Float64) : Float64
Converts linear RGB [0.0..1.0] to standard sRGB [0.0..1.0]
-
.oklab_to_rgb(l : Float64, a : Float64, b : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts Oklab (L, a, b) to sRGB [0..255]
-
.oklch_to_rgb(l : Float64, c : Float64, h : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts Oklch (L, C, h) to sRGB [0..255]
-
.rgb_to_cmyk(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64, Float64)
Converts sRGB [0..255] to CMYK [0.0..1.0]
-
.rgb_to_hsl(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64)
Converts sRGB [0..255] to HSL: H in [0..360°], S in [0.0..1.0], L in [0.0..1.0]
-
.rgb_to_hsv(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64)
Converts sRGB [0..255] to HSV: H in [0..360°], S in [0.0..1.0], V in [0.0..1.0]
-
.rgb_to_lab(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64)
Converts sRGB [0..255] to CIELAB: L* in [0..100], a* in [-128..127], b* in [-128..127]
-
.rgb_to_oklab(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64)
Converts sRGB [0..255] to Oklab: L in [0.0..1.0], a in [-0.4..0.4], b in [-0.4..0.4]
-
.rgb_to_oklch(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64)
Converts sRGB [0..255] to Oklch: L in [0.0..1.0], C in [0.0..0.4], h in [0.0..360.0°]
-
.rgb_to_xyz(r : Int, g : Int, b : Int) : Tuple(Float64, Float64, Float64)
Converts sRGB [0..255] to CIE XYZ [0.0..1.0, 0.0..1.0, 0.0..1.0]
-
.srgb_to_linear(c : Float64) : Float64
Converts standard sRGB [0..255] to linear RGB [0.0..1.0]
-
.xyz_to_rgb(x : Float64, y : Float64, z : Float64) : Tuple(UInt8, UInt8, UInt8)
Converts CIE XYZ to sRGB [0..255]
Class Method Detail
Converts CMYK [0.0..1.0] to sRGB [0..255]
Converts HSL (H in [0..360°], S in [0.0..1.0], L in [0.0..1.0]) to sRGB [0..255]
Converts HSV (H in [0..360°], S in [0.0..1.0], V in [0.0..1.0]) to sRGB [0..255]
Converts CIELAB (L*, a*, b*) to sRGB [0..255]
Converts linear RGB [0.0..1.0] to standard sRGB [0.0..1.0]
Converts Oklab (L, a, b) to sRGB [0..255]
Converts Oklch (L, C, h) to sRGB [0..255]
Converts sRGB [0..255] to CMYK [0.0..1.0]
Converts sRGB [0..255] to HSL: H in [0..360°], S in [0.0..1.0], L in [0.0..1.0]
Converts sRGB [0..255] to HSV: H in [0..360°], S in [0.0..1.0], V in [0.0..1.0]
Converts sRGB [0..255] to CIELAB: L* in [0..100], a* in [-128..127], b* in [-128..127]
Converts sRGB [0..255] to Oklab: L in [0.0..1.0], a in [-0.4..0.4], b in [-0.4..0.4]
Converts sRGB [0..255] to Oklch: L in [0.0..1.0], C in [0.0..0.4], h in [0.0..360.0°]
Converts sRGB [0..255] to CIE XYZ [0.0..1.0, 0.0..1.0, 0.0..1.0]
Converts standard sRGB [0..255] to linear RGB [0.0..1.0]
Converts CIE XYZ to sRGB [0..255]