Có ai biết chức năng trong javascript chuyển đổi màu RGB sang định dạng màu HSV không?RGB đến HSV màu trong javascript?
(hoặc jQuery)
Có ai biết chức năng trong javascript chuyển đổi màu RGB sang định dạng màu HSV không?RGB đến HSV màu trong javascript?
(hoặc jQuery)
Đây là một chức năng độc lập:
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)
};
}
Và làm thế nào để sử dụng nó:
console.log(rgb2hsv(60, 120, 180));
Hãy thử điều này: http://blog.crondesign.com/2011/02/actionscriptjavascript-colour-mode.html nó cho ActionScript nhưng chúng gần như giống nhau vì vậy chỉ cần thực hiện một số tinh chỉnh.
Hãy thử Color.js
Điều này chuyển đổi thành HSL không phải HSV/HSB mà chúng không giống nhau. –
Nếu bạn cần/muốn có một jQuery plugin, bạn có thể nhìn vào jquery-colors.
Bạn có thể sử dụng TinyColor.
Với sự phổ biến ngày càng tăng NPM Tôi nghĩ rằng đó là giá trị để đề cập đến một gói chứa tất cả các chức năng này thông qua một API đơn giản:
NPM cài đặt colorsys
var colorsys = require('colorsys')
colorsys.rgb_to_hsv({ r: 255, g: 255, b: 255 })
// { h: 0 , s: 0 , v: 100 }
Đối với trình duyệt: <script src="http://netbeast.github.io/colorsys/browser.js"></script>
colorsys.rgb_to_hex(h, s, v)
// #hexcolor
Như tôi đã trả lời trong Javascript convert HSB/HSV color to RGB accurately
Kết quả quan trọng đầu tiên tại một tìm kiếm của Google: http://www.kourbatov.com/faq/rgb2hsv.htm –
Tôi không chắc chắn nếu có một cách dễ dàng, nhưng hãy xem [ở đây] (http://www.csgnetwork.com/csgcolorsel4.html) và mã nguồn của nó. Nó có thể hữu ích cho bạn – genesis
@RobW, đây là kết quả quan trọng đầu tiên trên Google. – Petah