node-lcms
A little wrapper over LittleCMS utilities.
Installation
You need to have LittleCMS installed. You can build it from source by following these steps (which should work on Unix-based systems, including macOS):
git clone git@github.com:mm2/Little-CMS.gitcd Little-CMS./configuremakemake checkmake install
You can now use node-lcms
in your project by installing it from npm into your project:
# using npm npm install node-lcms # using yarn yarn add node-lcms
API reference
convert(options = {})
→ function(color_arr)
This is a wrapper over the Little CMS's transicc
utility, which converts colors based on ICC profiles.
let convert = ; let conv = ; console;
intent
:
Value | Description |
---|---|
0 |
Perceptual |
1 |
Relative colorimetric |
2 |
Saturation |
3 |
Absolute colorimetric |
10 |
Perceptual preserving black ink |
11 |
Relative colorimetric preserving black ink |
12 |
Saturation preserving black ink |
13 |
Perceptual preserving black plane |
14 |
Relative colorimetric preserving black plane |
15 |
Saturation preserving black plane |
Built-in profiles:
Profile | Description |
---|---|
*Lab2 |
D50-based v2 CIELab |
*Lab4 |
D50-based v4 CIELab |
*Lab |
D50-based v4 CIELab |
*XYZ |
CIE XYZ (PCS) |
*sRGB |
sRGB color space |
*Gray22 |
Monochrome of Gamma 2.2 |
*Gray30 |
Monochrome of Gamma 3.0 |
*null |
Monochrome black for all input |
*Lin2222 |
CMYK linearization of gamma 2.2 on each channel |
Acknowledgements
This project is indebted to James Pederson's node-transicc for instructions on how to install LittleCMS from source and how to interface with it in Node.js.