What is color-space?
The color-space npm package provides a comprehensive set of tools for color space conversion and manipulation. It supports a wide range of color spaces and allows for easy conversion between them.
What are color-space's main functionalities?
RGB to HSL Conversion
This feature allows you to convert colors from the RGB color space to the HSL color space. The code sample demonstrates converting a red color in RGB to its HSL representation.
const colorSpace = require('color-space');
const rgb = [255, 0, 0];
const hsl = colorSpace.rgb.hsl(rgb);
console.log(hsl); // [0, 100, 50]
HSL to RGB Conversion
This feature allows you to convert colors from the HSL color space to the RGB color space. The code sample demonstrates converting a red color in HSL to its RGB representation.
const colorSpace = require('color-space');
const hsl = [0, 100, 50];
const rgb = colorSpace.hsl.rgb(hsl);
console.log(rgb); // [255, 0, 0]
CMYK to RGB Conversion
This feature allows you to convert colors from the CMYK color space to the RGB color space. The code sample demonstrates converting a red color in CMYK to its RGB representation.
const colorSpace = require('color-space');
const cmyk = [0, 1, 1, 0];
const rgb = colorSpace.cmyk.rgb(cmyk);
console.log(rgb); // [255, 0, 0]
XYZ to LAB Conversion
This feature allows you to convert colors from the XYZ color space to the LAB color space. The code sample demonstrates converting a color in XYZ to its LAB representation.
const colorSpace = require('color-space');
const xyz = [41.24, 21.26, 1.93];
const lab = colorSpace.xyz.lab(xyz);
console.log(lab); // [53.23288178584245, 80.10930952982204, 67.22006831026425]
Other packages similar to color-space
color-convert
The color-convert package provides similar functionality for converting between different color spaces. It supports a wide range of color spaces and offers a simple API for conversions. Compared to color-space, color-convert is more focused on providing a straightforward conversion API without additional manipulation features.
chroma-js
Chroma.js is a powerful library for color manipulation and conversion. It supports a wide range of color spaces and provides additional features for color interpolation, blending, and more. Compared to color-space, Chroma.js offers more advanced color manipulation capabilities and a more user-friendly API.
tinycolor2
TinyColor is a small, fast library for color manipulation and conversion. It supports a variety of color spaces and provides a simple API for common color operations. Compared to color-space, TinyColor is more lightweight and focused on providing essential color manipulation features.
color-space
Math and data behind color spaces and color conversions. Converter & tests.
Use
$ npm install color-space
To include all spaces:
var spaces = require('color-space');
spaces.lab.lch([80,50,60]);
To include one target space:
var rgb = require('color-space/rgb');
var hsl = require('color-space/hsl');
hsl.lch([200,230,100]);
Use browserify to use in a browser.
API
Convert from one space to another:
var fromSpace = 'rgb', toSpace = 'hsl';
spaces[fromSpace][toSpace](array);
Get space data:
space.name
space.min
space.max
space.channel
space.alias
space.illuminant
Available spaces:
- rgb
- hsl
- hsv (hsb)
- hwb
- cmyk
- xyz (ciexyz)
- lab (cielab)
- luv (cieluv)
- lch (cielch)
To see details console.log(space)
.
Contribute
Please fork, add space/convertions. If you add a space, make sure you have implemented at least to/from XYZ or to/from RGB conversions. Don’t forget to add a test-case.
This is meant to be a basic library that can be used by other libraries to wrap color calculations in some cool way.