随机生成颜色以及十六进制颜色与RGB颜色值的相互转换

/**

 * 随机生成颜色

 * @return 随机生成的十六进制颜色

 */

function randomColor(){

  var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase();

  return "#"+"000000".substring(0,6-colorStr)+colorStr;

}

 

/**

 * 十六进制颜色转换为RGB颜色

 * @param color 要转换的十六进制颜色

 * @return RGB颜色

function colorHexToRGB(color){

  color=color.toUpperCase();

  var regexpHex=/^#[0-9a-fA-F]{3,6}$/;//Hex

  if(regexpHex.test(color)){

    var hexArray=new Array();

    var count=1;

    for(var i=1;i<=3;i++){

      if(color.length-2*i>3-i){

        hexArray.push(Number("0x"+color.substring(count,count+2)));

        count+=2;

      }else{

        hexArray.push(Number("0x"+color.charAt(count)+color.charAt(count)));

        count+=1;

      }

    }

    return "RGB("+hexArray.join(",")+")";

  }else{

    return color;

  }

}

 

/**

 * RGB颜色转换为十六进制颜色

 * @param color 要转换的RGB颜色

 * @return 十六进制颜色

 */

function colorRGBToHex(color){

  var regexpRGB=/^(rgb|RGB)\([0-9]{1,3},\s?[0-9]{1,3},\s?[0-9]{1,3}\)$/;//RGB

  if(regexpRGB.test(color)){

    color=color.replace(/(\(|\)|rgb|RGB)*/g,"").split(",");

    var colorHex="#";

    for(var i=0;i<color.length;i++){

      var hex=Number(color[i]).toString(16);

      if(hex.length==1) hex="0"+hex;

      colorHex+=hex;

    }

    return colorHex;

  }else{

    return color;

  }

}

posted on 2012-03-11 19:01  ゛白昼怎懂夜的黑ヽ  阅读(594)  评论(0编辑  收藏  举报

导航