17
A
回答
46
这里是一个独立的功能:
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)
};
}
以及如何使用它:
console.log(rgb2hsv(60, 120, 180));
1
试试这个: http://blog.crondesign.com/2011/02/actionscriptjavascript-colour-mode.html 及其动作,但他们几乎相同的,所以只是做一些调整。
3
2
如果你需要/喜欢一个jQuery插件,你可以看看jquery-colors。
8
您可以使用TinyColor。
1
鉴于NPM的日益普及,我认为这是值得一提,通过一个简单的API包含此功能包:
NPM安装colorsys
var colorsys = require('colorsys')
colorsys.rgb_to_hsv({ r: 255, g: 255, b: 255 })
// { h: 0 , s: 0 , v: 100 }
对于浏览器:<script src="http://netbeast.github.io/colorsys/browser.js"></script>
colorsys.rgb_to_hex(h, s, v)
// #hexcolor
相关问题
- 1. 如何查找颜色跟踪的RGB/HSV颜色参数?
- 2. RGB颜色位图和HSV双线性内插颜色
- 3. HSV颜色转换为RGB颜色算法 - 线性插值颜色
- 4. HSV到RGB停在黄色C#
- 5. OpenCV - RGB到HSV并回到RGB?
- 6. 随机HSV颜色
- 7. PHP中的RGB到HSV
- 8. 将图像的颜色空间从RGB转换为HSV
- 9. 颜色名称为RGB /十六进制/ HSL/HSV等
- 10. 从RGB到HSV在OpenGL GLSL
- 11. OpenCV:找到HSV颜色的上下界
- 12. HSV/RGB色彩空间转换
- 13. RGB到CIE颜色转换
- 14. HSV颜色范围表
- 15. 如何内插HSV颜色?
- 16. 使用HSV减轻颜色?
- 17. HSV颜色对比增强
- 18. 创建一个wpf渐变画笔编辑器。 (RGB颜色到HSL/HSV)
- 19. Javascript中的RGB透明颜色值
- 20. android opencv rgb to hsv
- 21. RGB到HSV色彩转换的Android使用opencv
- 22. 在OpenCV的转换HSV到RGB
- 23. 使用HSV颜色空间更改白色和黑色颜色
- 24. 改变RGB颜色
- 25. RGB颜色排列
- 26. Java颜色与RGB?
- 27. iPhone PopUp RGB颜色
- 28. Chrome和RGB颜色
- 29. MagiC++ RGB颜色值
- 30. 设置颜色RGB
谷歌搜索的第一个重要结果:http://www.kourbatov.com/faq/rgb2hsv.htm –
我不确定是否有一个简单的方法,但看看[这里](http:///www.csgnetwork.com/csgcolorsel4.html)及其源代码。它可能对你有用 – genesis
@RobW现在好了,这是Google的第一个重要结果。 – Petah