| 12345678910111213141516171819202122232425 |
- //taken from https://stackoverflow.com/questions/17242144/javascript-convert-hsb-hsv-color-to-rgb-accurately
- function RGBtoHSV(r, g, b) {
- if (arguments.length === 1) {
- g = r.g, b = r.b, r = r.r;
- }
- var max = Math.max(r, g, b), min = Math.min(r, g, b),
- d = max - min,
- h,
- s = (max === 0 ? 0 : d / max),
- v = max / 255;
- switch (max) {
- case min: h = 0; break;
- case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break;
- case g: h = (b - r) + d * 2; h /= 6 * d; break;
- case b: h = (r - g) + d * 4; h /= 6 * d; break;
- }
- return {
- h: h,
- s: s,
- v: v
- };
- };
|