duchq044 发表于 2013-1-29 08:45:16

随机生成颜色以及十六进制颜色与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=/^#{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)\({1,3},\s?{1,3},\s?{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).toString(16);      if(hex.length==1) hex="0"+hex;      colorHex+=hex;    }    return colorHex;  }else{    return color;  }}
页: [1]
查看完整版本: 随机生成颜色以及十六进制颜色与RGB颜色值的相互转换