网页开发中经常会遇到十进制RGB颜色和十六进制颜色转化的问题,比如用QQ截图时就能显示鼠标所在位置的RGB颜色,下面写成函数的形式供调用方便,轻松实现RGB颜色和十六进制颜色转化。
RGB颜色转化为16进制颜色
1、RGB颜色转化为16进制颜色://十进制转化为16进制functionhex(x){return("0"+parseInt(x).toString(16)).slice(-2);}//RGB颜色转为十六进制颜色functionRGB2HEX(rgb){rgb=rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);return"#"+hex(rgb[1])+hex(rgb[2])+hex(rgb[3]);}
2、调用方法:RGB2HEX("rgb(255,255,255)");输出结果:#ffffffRGB2HEX("rgb(25,25,25)");输出结果:#191919
16进制颜色转化为RGB颜色
1、16旅邯佤践进制颜色转化为RGB颜色://十六进制数字转化为十进制数字functionHEX2DEC(hex){return惺绅寨瞀parseInt(hex,16).toString();}//十六进制颜色转化为RGB颜色functionHEX2RGB(hex){hex=hex.substring(1);if(hex.length===3){hex+=hex;}return"rgb("+HEX2DEC(hex.substring(0,2))+","+HEX2DEC(hex.substring(2,4))+","+HEX2DEC(hex.substring(4))+")";}
2、调用方法:HEX2RGB("#FFFFFF");输入结果:rgb(255,255,255)HEX2RGB("#666");输入结果:rgb(102,102,102)