随机生成颜色以及十六进制颜色与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]