用js实现颜色编码十六进制和十进制的转换

来源:互联网 发布:阿里云搭梯子 编辑:程序博客网 时间:2024/06/05 09:41
// by zhangxinxu welcome to visit my personal website http://www.zhangxinxu.com/// 2010-03-12 v1.0.0//鍗佸叚杩涘埗棰滆壊鍊煎煙RGB鏍煎紡棰滆壊鍊间箣闂寸殑鐩镐簰杞崲//-------------------------------------//鍗佸叚杩涘埗棰滆壊鍊肩殑姝e垯琛ㄨ揪寮�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[i]).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[i]+aNum[i]);}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;}};
0 0
原创粉丝点击