color-temperature
Converts color temperature in Kelvin to a color in RGB color space -- and vice versa.
The conversion is designed to be fast and usable for image processing. More details on color temperature and the algorithm can be found here.
Installation
$ npm install --save color-temperture
Usage
var ct = ; //convert kelvin to RGB// eg convert typical candlelight (1850K ) to RGBvar rgb = ct; var red = rgbred;var green = rgbgreen;var blue = rgbblue;
RGB color is represented in JSON format: An RGB of [0, 128, 255] would be represented as
red : 0 green : 128 blue : 255
Examples
Often, the convertor is deployed as part of an image processing loop. The following example uses streams to generate a PNG similar to that at the top of this README file.
var fs = ;var png_encoder = ;var ct = ;var width = 500;var height = 100;var kelvinStart = 10;var kelvinEnd = 40000; var pixels = width * height * 3;for var w = 0; w < width; w += 1 for var h = 0; h < height; h += 1 var i = h*width+w*3; kelvin = kelvinEnd-kelvinStart/width* w + kelvinStart; var rgb = ct; pixelsi = rgbred; pixelsi + 1 = rgbgreen; pixelsi + 2 = rgbblue; var enc = width height;enc;enc;
There are examples in the examples directory.
API
NOTE The conversions use approximations and are suitable for photo-mainpulation and other non-critical uses.
Accuracy is best between 1000K and 40000K.
;
Convert a color temperature in Kelvin to RGB. This method uses an approximation based on a curve fit of data from a sparse RGB to Kelvin mapping.
;
A JavaScript port of the original algorithm from Tanner Helland. This method is mainly here for comparison purposes. Generally, colorTemperature2rgb provides more accurate results.
;
Convert a color in RGB format to a color temperature in Kelvin.
License
The code is released under an MIT license.
Release History
- 0.1.0 Initial release