Tint (Tint v1.1.0) View Source
A library allowing calculations with colors and conversions between different colorspaces.
Link to this section Summary
Functions
Converts the given color to another colorspace.
Converts the given color to another colorspace. Raises when the colorspace is invalid.
Gets the converted module for the given colorspace atom or module.
Converts the given color to the CMYK colorspace.
Converts the given color to the DIN99 colorspace.
Converts the given color to the HSV colorspace.
Converts the given color to the CIELAB colorspace.
Converts the given color to the RGB colorspace.
Converts the given color to the XYZ (CIE 1931) colorspace.
Link to this section Types
Specs
color() :: Tint.CMYK.t() | Tint.DIN99.t() | Tint.HSV.t() | Tint.Lab.t() | Tint.RGB.t() | Tint.XYZ.t()
A type representing a color.
Specs
A type representing a colorspace.
Link to this section Functions
Specs
convert(color(), colorspace()) :: {:ok, color()} | :error
Converts the given color to another colorspace.
Examples
iex> Tint.convert(Tint.RGB.new(40, 66, 67), :cmyk)
{:ok, %Tint.CMYK{cyan: 0.403, magenta: 0.0149, yellow: 0.0, key: 0.7373}}
iex> Tint.convert(Tint.RGB.new(255, 127, 30), Tint.HSV)
{:ok, %Tint.HSV{hue: 25.9, saturation: 0.8824, value: 1.0}}
iex> Tint.convert(Tint.RGB.new(255, 127, 30), :invalid)
:error Specs
convert!(color(), colorspace()) :: color()
Converts the given color to another colorspace. Raises when the colorspace is invalid.
Examples
iex> Tint.convert!(Tint.RGB.new(40, 66, 67), :cmyk)
%Tint.CMYK{cyan: 0.403, magenta: 0.0149, yellow: 0.0, key: 0.7373}
iex> Tint.convert!(Tint.RGB.new(255, 127, 30), Tint.HSV)
%Tint.HSV{hue: 25.9, saturation: 0.8824, value: 1.0}
iex> Tint.convert!(Tint.RGB.new(255, 127, 30), :foo)
** (ArgumentError) Unknown colorspace: :foo Specs
converter_for(colorspace()) :: {:ok, module()} | :error
Gets the converted module for the given colorspace atom or module.
Specs
to_cmyk(color()) :: Tint.CMYK.t()
Converts the given color to the CMYK colorspace.
Example
iex> Tint.to_cmyk(Tint.RGB.new(40, 66, 67))
#Tint.CMYK<40.3%,1.49%,0.0%,73.73%> Specs
to_din99(color()) :: Tint.DIN99.t()
Converts the given color to the DIN99 colorspace.
Specs
to_hsv(color()) :: Tint.HSV.t()
Converts the given color to the HSV colorspace.
Example
iex> Tint.to_hsv(Tint.RGB.new(255, 127, 30))
#Tint.HSV<25.9°,88.24%,100.0%> Specs
to_lab(color()) :: Tint.Lab.t()
Converts the given color to the CIELAB colorspace.
Specs
to_rgb(color()) :: Tint.RGB.t()
Converts the given color to the RGB colorspace.
Example
iex> Tint.to_rgb(Tint.HSV.new(25.8, 0.882, 1))
#Tint.RGB<255,127,30 (#FF7F1E)> Specs
to_xyz(color()) :: Tint.XYZ.t()
Converts the given color to the XYZ (CIE 1931) colorspace.