🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

color-temperature

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

color-temperature

Kelvin color temperature to RGB convertor

0.2.7
latest
Source
npm
Version published
Weekly downloads
3K
19.55%
Maintainers
1
Weekly downloads
 
Created
Source

color-temperature

Color Spectrum

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 = require('color-temperature');

//convert kelvin to RGB
// eg convert typical candlelight (1850K ) to RGB
var rgb = ct.colorTemperature2rgb(1850);

var red = rgb.red;
var green = rgb.green;
var blue = rgb.blue;

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 = require('fs');
var png_encoder = require('png-stream');
var ct = require('color-temperature');
var width = 500;
var height = 100;
var kelvinStart = 10;
var kelvinEnd = 40000;

var pixels = new Buffer(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.colorTemperature2rgb(kelvin);

      pixels[i] = rgb.red;
      pixels[i + 1] = rgb.green;
      pixels[i + 2] = rgb.blue;
  }
}

var enc = new png_encoder.Encoder(width, height);
enc.pipe(fs.createWriteStream('color-temperature-'+kelvinStart+'-'+kelvinEnd+'.png'));
enc.end(pixels);

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.

require('color-temperature').colorTemperature2rgb(kelvin);

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.

require('color-temperature').colorTemperature2rgbUsingTH(kelvin);

A JavaScript port of the original algorithm from Tanner Helland. This method is mainly here for comparison purposes. Generally, colorTemperature2rgb provides more accurate results.

require('color-temperature').rgb2colorTemperature(rgb);

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

NPM

Keywords

color

FAQs

Package last updated on 21 Mar 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts