Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Plain color conversion functions in JavaScript
JavaScript
Branch: master

0.6.0

latest commit d024e9aeee
@MoOx MoOx authored
Failed to load latest commit information.
test added ansi16/256 conversion
.travis.yml Update .travis.yml
CHANGELOG.md 0.6.0
LICENSE add MIT license file
README.md 0.6.0
component.json 0.5.3
conversions.js added ansi16/256 conversion
index.js fix mixed indentation
package.json 0.6.0

README.md

color-convert

Build Status

Color-convert is a color conversion library for JavaScript and node. It converts all ways between rgb, hsl, hsv, hwb, cmyk, ansi, ansi16 and CSS keywords:

var converter = require("color-convert")();

converter.rgb(140, 200, 100).hsl()   // [96, 48, 59]

converter.keyword("blue").rgb()      // [0, 0, 255]

Install

$ npm install color-convert

API

Color-convert exports a converter object with getter/setter methods for each color space. It caches conversions:

var converter = require("color-convert")();

converter.rgb(140, 200, 100).hsl()   // [96, 48, 59]

converter.rgb([140, 200, 100])       // args can be an array

Plain functions

Get direct conversion functions with no fancy objects:

require("color-convert").rgb2hsl([140, 200, 100]);   // [96, 48, 59]

Unrounded

To get the unrounded conversion, append Raw to the function name:

convert.rgb2hslRaw([140, 200, 100]);   // [95.99999999999999, 47.619047619047606, 58.82352941176471]

Hash

There's also a hash of the conversion functions keyed first by the "from" color space, then by the "to" color space:

convert["hsl"]["hsv"]([160, 0, 20]) == convert.hsl2hsv([160, 0, 20])

Other spaces

There are some conversions from rgb (sRGB) to XYZ and LAB too, available as rgb2xyz(), rgb2lab(), xyz2rgb(), and xyz2lab().

Contribute

Please fork, add conversions, figure out color profile stuff for XYZ, LAB, etc. This is meant to be a basic library that can be used by other libraries to wrap color calculations in some cool way.

Something went wrong with that request. Please try again.