Javascript 如何设置颜色';清除';到RGB还是十六进制?
现在我得到一个对象,它包含一个名为“Clear”的颜色。我想将其设置为RGB值,我使用了一个函数来实现这一点,但它返回我“RGB(51,51,51)”,而在角弦图中,它将其设置为“#3366cc”。如何在不使用其他js库的情况下获得RGB值? -Javascript 如何设置颜色';清除';到RGB还是十六进制?,javascript,css,colors,hex,rgb,Javascript,Css,Colors,Hex,Rgb,现在我得到一个对象,它包含一个名为“Clear”的颜色。我想将其设置为RGB值,我使用了一个函数来实现这一点,但它返回我“RGB(51,51,51)”,而在角弦图中,它将其设置为“#3366cc”。如何在不使用其他js库的情况下获得RGB值? - function(){ var div = document.createElement('div'); var rgbColor; div.style.color = 'Clear'; document.body.a
function(){
var div = document.createElement('div');
var rgbColor;
div.style.color = 'Clear';
document.body.appendChild(div);
rgbColor = window.getComputedStyle(div).color
div.remove();
return rgbColor;
}
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(r, g, b) {
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
function getColor(){
var r = 0;
var g = 0;
var b = 0;
var rgbColor;
var div = document.createElement('div');
div.style.color = 'Clear';
document.body.appendChild(div);
rgbColor = window.getComputedStyle(div).color
var matches = div.style.color.match(/^rgb\((\d+), (\d+), (\d+)\)$/);
if (matches) {
r = parseInt(matches[1]);
g = parseInt(matches[2]);
b = parseInt(matches[3]);
}
div.remove();
return rgbToHex(r, g, b);
}