Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置颜色';清除';到RGB还是十六进制?_Javascript_Css_Colors_Hex_Rgb - Fatal编程技术网

Javascript 如何设置颜色';清除';到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

现在我得到一个对象,它包含一个名为“Clear”的颜色。我想将其设置为RGB值,我使用了一个函数来实现这一点,但它返回我“RGB(51,51,51)”,而在角弦图中,它将其设置为“#3366cc”。如何在不使用其他js库的情况下获得RGB值? -


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);
}