nano-color
Advanced tools
Comparing version 1.0.6 to 1.0.7
30
index.js
@@ -133,5 +133,5 @@ "use strict"; | ||
function _h(c) { | ||
//(c+100).toString(16).substr(-2); | ||
return "0123456789abcdef".charAt(c>>4) + "0123456789abcdef".charAt(c&15); | ||
function _h(v) { | ||
var c = v + .5 & 255, s = "0123456789abcdef"; | ||
return s.charAt(c>>4) + s.charAt(c&15); | ||
} | ||
@@ -142,3 +142,3 @@ | ||
exports.rgb2hex = function rgb2hex(rgb) { | ||
return '#' + _h(rgb[0]+.5|0) + _h(rgb[1]+.5|0) + _h(rgb[2]+.5|0); | ||
return '#' + _h(rgb[0]) + _h(rgb[1]) + _h(rgb[2]); | ||
}; | ||
@@ -149,3 +149,3 @@ | ||
exports.rgba2hex = function rgba2hex(rgb) { | ||
return '#' + _h(rgb[0]+.5|0) + _h(rgb[1]+.5|0) + _h(rgb[2]+.5|0) + _h(rgb[3]+.5|0); | ||
return '#' + _h(rgb[0]) + _h(rgb[1]) + _h(rgb[2]) + _h(rgb[3]); | ||
}; | ||
@@ -189,3 +189,3 @@ | ||
// (0xRRGGBB) return [ R, G, B ]; | ||
exports.rgb2array = function rgb2array(value) { | ||
exports.irgb2array = function irgb2array(value) { | ||
return [ value >> 16, (value >> 8) & 255, value & 255 ]; | ||
@@ -196,3 +196,3 @@ }; | ||
// (0xRRGGBBAA) return [ R, G, B, A ]; | ||
var rgba2array = exports.rgba2array = function rgba2array(value) { | ||
var rgba2array = exports.irgba2array = function irgba2array(value) { | ||
return [ (value >> 24)&255, (value >> 16) & 255, (value >> 8) & 255, value & 255 ]; | ||
@@ -202,6 +202,6 @@ }; | ||
/* --------------------------------------------------------------------------------------- */ | ||
// (H, S, V, A) return 0xRRGGBBAA; | ||
exports.hsva2irgba = function hsva2irgba(H,S,V, A) { | ||
var rgba = hsva2rgba(H,S,V,A); | ||
return 16777216. * ((rgba[0]+.5)|0) + 65536. * ((rgba[1]+.5)|0) + 256. * ((rgba[2]+.5)|0) + rgba[3]; | ||
// (h, s, v, a) return 0xRRGGBBAA; | ||
exports.hsva2irgba = function hsva2irgba(h,s,v,a) { | ||
var rgba = hsva2rgba(h,s,v,a); | ||
return 16777216. * rgba[0] + 65536. * rgba[1] + 256. * rgba[2] + rgba[3]; | ||
}; | ||
@@ -306,7 +306,7 @@ | ||
var w = pos_b - pos_a, i = 0, | ||
var len = pos_b - pos_a, i = 0, | ||
x1, c1, x2, c2, line = [ 0, 0, 0, 0 ]; | ||
for (var stop in colors) { | ||
x2 = pos_a + w*stop/10000; | ||
x2 = pos_a + len*stop/10000; | ||
c2 = obj2rgba(colors[stop]); | ||
@@ -320,3 +320,3 @@ if (i > 0) { | ||
for (var ix = (x1/*+.9999*/)|0, ie = x2|0; ix < ie; ++ix) | ||
for (var ix = x1+.5 | 0, ie = x2 | 0; ix < ie; ++ix) | ||
callback(ix, color(ix)); | ||
@@ -327,3 +327,3 @@ | ||
else | ||
if (ix !== ie) | ||
if (ix !== x2) | ||
callback(ie, mix(x2-ie, color(ie), c2)); | ||
@@ -330,0 +330,0 @@ } |
{ | ||
"name": "nano-color", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "HSV <-> RGB colors conversion utility library. HSV filter, coloring filter, gradients generating.", | ||
@@ -5,0 +5,0 @@ "keywords" : [ "HSV", "RGB", "RGBA", "hsv-filter", "coloring-filter", "gradient" ], |
@@ -57,7 +57,7 @@ # nano-color | ||
### rgb2array(IRGB) | ||
### irgb2array(IRGB) | ||
Returns [ R, G, B ]. | ||
### rgba2array(IRGBA) | ||
### irgba2array(IRGBA) | ||
@@ -120,3 +120,3 @@ Returns [ R, G, B, A ]. | ||
5: [ 31, 48, 65, 82 ] | ||
6: [ 22, 41, 96, 80 ] | ||
6: [ 48, 65, 82, 99 ] | ||
7: [ 80, 95, 74, 124 ] | ||
@@ -123,0 +123,0 @@ 8: [ 138, 148, 52, 168 ] |
@@ -15,17 +15,2 @@ var c = require('../index.js'), | ||
/* | ||
setGamma: setGamma, // (g) | ||
rgb2hsv: rgb2hsv, // (R,G,B) returns [ h,s,v ]; | ||
hsv2rgb: hsv2rgb, // (H,S,V) return [ r, g, b ]; | ||
hsva2rgba: hsva2rgba, // (H,S,V,A) return [ r, g, b, a ]; | ||
hsva2irgba: hsva2irgba, // (H, S, V, A) return 0xRRGGBBAA; | ||
rgb2hex: rgb2hex, // (rgb as [r,g,b]) return "#rrggbb"; | ||
hex2rgb: hex2rgb, // (hex) return [ r, g, b ]; | ||
rgb2array: rgb2array, // (value) return [ r, g, b ]; | ||
rgba2array: rgba2array, // (value) return [ r, g, b, a ]; | ||
hsv_filter: hsv_filter, // (rgb, hue, sat, val) | ||
colorify_filter: colorify_filter, // (rgb, hue, sat, val) | ||
genGradient: genGradient // (pos_a, pos_b, gr as object, callback([this, ] pos, color as [r,g,b])) | ||
*/ | ||
function round_a(v) { | ||
@@ -331,3 +316,3 @@ return ((v*10000+.5)|0)/10000; | ||
massive('rgb2array', c.rgb2array, [ | ||
massive('irgb2array', c.irgb2array, [ | ||
0x000000, [ 0, 0, 0 ], | ||
@@ -339,3 +324,3 @@ 0x010203, [ 1, 2, 3 ], | ||
massive('rgba2array', c.rgba2array, [ | ||
massive('irgba2array', c.irgba2array, [ | ||
0x00000000, [ 0, 0, 0, 0 ], | ||
@@ -391,3 +376,3 @@ 0x01020304, [ 1, 2, 3, 4 ], | ||
], | ||
[ 0, 10, { 0: '#000', 4002: '#1234', 6500: 0x33445566, 10000: [ 255, 255, 7, 255 ] } ], [ | ||
[ 0, 10, { 0: '#000', 4002: '#1234', 6500: 0x33445566, 10000: [ 255, 255, 7 ] } ], [ | ||
0, 0, 0, 255, | ||
@@ -399,3 +384,3 @@ 4, 8, 13, 208, | ||
31, 48, 65, 82, | ||
22, 41, 96, 80, | ||
48, 65, 82, 99, | ||
80, 95, 74, 124, | ||
@@ -402,0 +387,0 @@ 138, 148, 52, 168, |
27494
662