十进制RGB颜色和十六进制颜色转化
的有关信息介绍如下:网页开发中经常会遇到十进制RGB颜色和十六进制颜色转化的问题,比如用QQ截图时就能显示鼠标所在位置的RGB颜色,下面写成函数的形式供调用方便,轻松实现RGB颜色和十六进制颜色转化。
RGB颜色转化为16进制颜色:
//十进制转化为16进制
function hex(x){
return ("0" + parseInt(x).toString(16)).slice(-2);
}
//RGB颜色转为十六进制颜色
function RGB2HEX(rgb){
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
return "#" + hex(rgb) + hex(rgb) + hex(rgb);
}
调用方法:
RGB2HEX("rgb(255,255,255)");
输出结果:#ffffff
RGB2HEX("rgb(25,25,25)");
输出结果:#191919
16进制颜色转化为RGB颜色:
//十六进制数字转化为十进制数字function HEX2DEC(hex){
return parseInt(hex,16).toString();
}
//十六进制颜色转化为RGB颜色function HEX2RGB(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))+")";
}
调用方法:
HEX2RGB("#FFFFFF");
输入结果:rgb(255,255,255)
HEX2RGB("#666");
输入结果:rgb(102,102,102)