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. OpenCV - RGB到HSV並回到RGB?
- 2. PHP中的RGB到HSV
- 3. 將圖像的顏色空間從RGB轉換爲HSV
- 4. 顏色名稱爲RGB /十六進制/ HSL/HSV等
- 5. 從RGB到HSV在OpenGL GLSL
- 6. OpenCV:找到HSV顏色的上下界
- 7. 創建一個wpf漸變畫筆編輯器。 (RGB顏色到HSL/HSV)
- 8. Javascript中的RGB透明顏色值
- 9. 使用HSV顏色空間更改白色和黑色顏色
- 10. iPhone PopUp RGB顏色
- 11. 改變RGB顏色
- 12. Java顏色與RGB?
- 13. 插值RGB顏色
- 14. MagiC++ RGB顏色值
- 15. RGB顏色排列
- 16. Chrome和RGB顏色
- 17. Python - RGB LED顏色褪色
- 18. 從RGB到YUV的顏色轉換(YCoCg)
- 19. UIColor/RGB從X顏色到Y顏色的方式
- 20. #定義,NeoPIxel的RGB顏色
- 21. rgb顏色的CSS約定
- 22. 將RGB值轉換爲HSV
- 23. ImageSharp將Rgb轉換爲Hsv
- 24. HSV(0 .. 255)RGB(0 .. 255)
- 25. RGB 24位到16位顏色轉換 - 顏色變暗
- 26. 將某些像素RGB顏色到另一種顏色
- 27. RGB到CMY用C++顏色模型
- 28. 顏色空間映射YCbCr到RGB
- 29. jquery顏色,RGB到HSL和後退
- 30. 分配字節到RGB顏色
谷歌搜索的第一個重要結果:http://www.kourbatov.com/faq/rgb2hsv.htm –
我不確定是否有一個簡單的方法,但看看[這裏](http:///www.csgnetwork.com/csgcolorsel4.html)及其源代碼。它可能對你有用 – genesis
@RobW現在好了,這是Google的第一個重要結果。 – Petah