您的位置首页百科问答

十进制RGB颜色和十六进制颜色转化

十进制RGB颜色和十六进制颜色转化

的有关信息介绍如下:

十进制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)