1.0.9 • Published 9 years ago

nano-color v1.0.9

Weekly downloads
20
License
MIT
Repository
github
Last release
9 years ago

Gitter NPM version Build status Test coverage Dependency Status License Downloads

nano-color

HSV/RGB color conversion utility library. HSV filter, coloring filter, gradients generating.

Functions

Common parameter names

  • R,G,B,A -- integer channel value (0..255);
  • h -- hue value (0..359);
  • s,v,a -- saturation, volume, alpha value (0..1);
  • g -- gamma value;
  • RGB -- R, G, B ;
  • RGBA -- R, G, B, A ;
  • IRGBA -- 0xRRGGBBAA;
  • IRGB -- 0xRRGGBB;
  • data -- array of bytes;
  • addr -- offset in an array of bytes.

setGamma(g)

set Gamma correction value

rgb2hsv(R,G,B)

Converts RGB to HSV. Returns array h, s, v .

hsv2rgb(h,s,v)

Returns R, G, B .

hsva2rgba(h,s,v,a)

Returns R, G, B, A .

rgba2hsva(R,G,B,A)

Returns h, s, v, a .

rgb2hex(RGB)

Return CSS hex color string -- '#RRGGBB'.

rgba2hex(RGBA)

Return SVN hex color string -- '#RRGGBBAA'.

hex2rgb(h)

Returns R, G, B . Eats '#RGB', '#RGBA', '#RRGGBB' and '#RRGGBBAA' formats.

hex2rgba(hex)

Returns R, G, B, A . Eats '#RGB', '#RGBA', '#RRGGBB' and '#RRGGBBAA' formats.

irgb2array(IRGB)

Returns R, G, B .

irgba2array(IRGBA)

Returns R, G, B, A .

hsva2irgba(h,s,v,a)

Returns 0xRRGGBBAA.

put_rgb(data, addr, RGBA)

Put or mix in RGBA to the RGB bitmap array (data).

put_rgba(data, addr, RGBA)

Put or mix in RGBA to the RGBA bitmap array (data).

hsv_filter(data, addr, h, s, v)

Applyes HSV filter to the bitmap pixel.

colorify_filter(data, addr, h, s, v)

Applyes Colorify filter to the bitmap pixel.

There are special case for v < 0. A result volume will be calculated by the formula (.21*r + .72*g + .07*b) * -val.

gradient(first_pos, last_pos, stops, fn)

  • {stops} -- Object with color stops like:
{ 0: '#000', 4000: '#1234', 6000: 0x33445566, 10000: [ 255, 255, 255, 255 ] }

where, keys of object should be numeric value in bounds between 0 and 10000, that means from 0 to 1.0.

  • {fn(position, RGBA)} -- callback function

Example:

> var c = require('nano-color');
c.gradient(0, 10, {
		0: '#000',
		4000: '#1234',
		6500: 0x33445566,
		10000: [ 255, 255, 7, 255 ]
	}, function (pos, RGBA) {
		console.log('%s: [ %s ]', pos, RGBA.join(', '));
	});

will produce console output:

0: [ 0, 0, 0, 255 ]
1: [ 4, 9, 13, 208 ]
2: [ 9, 17, 26, 162 ]
3: [ 13, 26, 38, 115 ]
4: [ 17, 34, 51, 68 ]
5: [ 31, 48, 65, 82 ]
6: [ 48, 65, 82, 99 ]
7: [ 80, 95, 74, 124 ]
8: [ 138, 148, 52, 168 ]
9: [ 197, 202, 29, 211 ]
10: [ 255, 255, 7, 255 ]
1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago