十六进制颜色值域RGB格式颜色值之间的相互转换
2018-03-15 00:00
495 查看
//十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; /*RGB颜色转换为16进制*/ String.prototype.colorHex = function(){ var that = this; if(/^(rgb|RGB)/.test(that)){ var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(","); var strHex = "#"; for(var i=0; i<aColor.length; i++){ var hex = Number(aColor).toString(16); if(hex === "0"){ hex += hex; } strHex += hex; } if(strHex.length !== 7){ strHex = that; } return strHex; }else if(reg.test(that)){ var aNum = that.replace(/#/,"").split(""); if(aNum.length === 6){ return that; }else if(aNum.length === 3){ var numHex = "#"; for(var i=0; i<aNum.length; i+=1){ numHex += (aNum+aNum); } return numHex; } }else{ return that; } }; /*16进制颜色转为RGB格式*/ String.prototype.colorRgb = function(){ var sColor = this.toLowerCase(); if(sColor && reg.test(sColor)){ if(sColor.length === 4){ var sColorNew = "#"; for(var i=1; i<4; i+=1){ sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1)); } sColor = sColorNew; } //处理六位的颜色值 var sColorChange = []; for(var i=1; i<7; i+=2){ sColorChange.push(parseInt("0x"+sColor.slice(i,i+2))); } return "RGB(" + sColorChange.join(",") + ")"; }else{ return sColor; } };
使用颜色转换方法
ar sRgb = "RGB(23, 245, 56)" , sHex = "#34538b"; var sHexColor = sRgb.colorHex(); var sRgbColor = sHex.colorRgb();
其中colorHex()表示转换为十六进制方法,colorRgb()表示转为RGB颜色值的方法
相关文章推荐
- 十六进制颜色值域RGB格式颜色值之间的相互转换
- javascript实现十六进制颜色值(HEX)和RGB格式相互转换
- javascript实现十六进制颜色值(HEX)和RGB格式相互转换
- HSI颜色空间和RGB颜色空间之间的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- RGB 颜色值与十六进制颜色码之间的相互转换
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
- Rgb颜色和十六进制颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- 颜色模型RGB,HSV颜色模型的数值之间相互转换
- 内联函数函数十六进制与RGB颜色值的相互转换 , 判断一个素数 , 内联函数, 面向对象
- 十六进制与RGB颜色值的相互转换 , 判断一个素数 , 内联函数, 面向对象
- javascript 十六进制与RGB颜色值的相互转换
- asii和unicode格式字符串之间的相互转换
- vs2005与vs2008之间的项目格式相互转换方法
- YUV 格式与 RGB 格式的相互转换公式及C++ 代码
- 小工具:把十进制RGB颜色转换成十六进制
- RGB与HSV之间的转换公式及颜色表