Socket
Socket
Sign inDemoInstall

color-temperature

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

color-temperature


Version published
Maintainers
1
Created

Readme

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

FAQs

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc