1.0.2 • Published 5 years ago

node-lcms v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

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.git
cd Little-CMS
./configure
make
make check
make 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 } = require('node-lcms');

let conv = convert({
	profile_out: require.resolve('color-profiles/pso-coated-v3.icc')
});

console.log(conv([255, 0, 0]));

intent:

ValueDescription
0Perceptual
1Relative colorimetric
2Saturation
3Absolute colorimetric
10Perceptual preserving black ink
11Relative colorimetric preserving black ink
12Saturation preserving black ink
13Perceptual preserving black plane
14Relative colorimetric preserving black plane
15Saturation preserving black plane

Built-in profiles:

ProfileDescription
*Lab2D50-based v2 CIELab
*Lab4D50-based v4 CIELab
*LabD50-based v4 CIELab
*XYZCIE XYZ (PCS)
*sRGBsRGB color space
*Gray22Monochrome of Gamma 2.2
*Gray30Monochrome of Gamma 3.0
*nullMonochrome black for all input
*Lin2222CMYK 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.

See also