Czy ktoś zna funkcję javascript, która konwertuje kolor RGB na format kolorów HSV?Kolory RGB do HSV w javascript?
(lub jQuery)
Czy ktoś zna funkcję javascript, która konwertuje kolor RGB na format kolorów HSV?Kolory RGB do HSV w javascript?
(lub jQuery)
Oto samodzielna funkcja:
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)
};
}
i jak go używać:
console.log(rgb2hsv(60, 120, 180));
Spróbuj tego: http://blog.crondesign.com/2011/02/actionscriptjavascript-colour-mode.html ITS w ActionScript ale są prawie takie same, więc po prostu zrobić kilka szczypanie.
Spróbuj Color.js
To konwertuje na HSL, a nie HSV/HSB, to nie to samo. –
Jeśli potrzebujesz/wolą plugin jQuery, można spojrzeć na jquery-colors.
Można użyć TinyColor.
Biorąc rosnąca popularność KMP myślę, że warto wspomnieć pakiet zawierający wszystkie te funkcje za pośrednictwem prostego API:
npm install colorsys
var colorsys = require('colorsys')
colorsys.rgb_to_hsv({ r: 255, g: 255, b: 255 })
// { h: 0 , s: 0 , v: 100 }
dla przeglądarki: <script src="http://netbeast.github.io/colorsys/browser.js"></script>
colorsys.rgb_to_hex(h, s, v)
// #hexcolor
Jak odpowiedziałem w Javascript convert HSB/HSV color to RGB accurately
Pierwszy znaczący wynik w wyszukiwarce Google: http://www.kourbatov.com/faq/rgb2hsv.htm –
Nie jestem pewien, czy istnieje prosty sposób, ale spójrz [tutaj] (http: // /www.csgnetwork.com/csgcolorsel4.html) i jego kod źródłowy. To może być dla ciebie przydatne – genesis
@RobW. To jest pierwszy znaczący wynik w Google. – Petah