change - Color RGB a HSV en javascript?
select color picker jquery (6)
Aquí hay una función independiente:
function rgb2hsv () {
var rr, gg, bb,
r = arguments[0] / 255,
g = arguments[1] / 255,
b = arguments[2] / 255,
h, s,
v = Math.max(r, g, b),
diff = v - Math.min(r, g, b),
diffc = function(c){
return (v - c) / 6 / diff + 1 / 2;
};
if (diff == 0) {
h = s = 0;
} else {
s = diff / v;
rr = diffc(r);
gg = diffc(g);
bb = diffc(b);
if (r === v) {
h = bb - gg;
}else if (g === v) {
h = (1 / 3) + rr - bb;
}else if (b === v) {
h = (2 / 3) + gg - rr;
}
if (h < 0) {
h += 1;
}else if (h > 1) {
h -= 1;
}
}
return {
h: Math.round(h * 360),
s: Math.round(s * 100),
v: Math.round(v * 100)
};
}
Y cómo usarlo:
console.log( rgb2hsv(60, 120, 180) );
¿Alguien sabe una función en javascript que convierte el color RGB al formato de color HSV?
(o jQuery)
Prueba Color.js
Pruebe esto: http://blog.crondesign.com/2011/02/actionscriptjavascript-colour-mode.html Es para ActionScript pero son casi lo mismo, solo haga algunos ajustes.
Si necesita / prefiere un complemento de jQuery, puede ver los colores de jquery .
Puedes usar TinyColor .
Dada la creciente popularidad de npm, creo que vale la pena mencionar un paquete que contiene todas estas funciones a través de una API simple:
npm instala colorsys
var colorsys = require(''colorsys'')
colorsys.rgb_to_hsv({ r: 255, g: 255, b: 255 })
// { h: 0 , s: 0 , v: 100 }
Para el navegador: <script src="http://netbeast.github.io/colorsys/browser.js"></script>
colorsys.rgb_to_hex(h, s, v)
// #hexcolor
Como respondí en Javascript, convertí el color HSB / HSV a RGB con precisión