Packages

Chameleon is a utility for converting colors from one color model to another. Conversions can be made to/from RGB, CMYK, Hex, HSL, Pantone, and even Keywords. For example: "FFFFFF" -> %{c: 0, m: 0, y: 0, k: 0}

Current section

Files

Jump to
chameleon lib chameleon color.ex
Raw

lib/chameleon/color.ex

defprotocol Chameleon.Color.RGB do
def from(color)
end
for protocol <- [
Chameleon.Color.CMYK,
Chameleon.Color.Hex,
Chameleon.Color.HSL,
Chameleon.Color.HSV,
Chameleon.Color.Keyword,
Chameleon.Color.Pantone
] do
defprotocol protocol do
@fallback_to_any true
def from(color)
end
defimpl protocol, for: Any do
def from(color) do
rgb = Chameleon.Color.RGB.from(color)
@protocol.from(rgb)
end
end
end