RGB值转换为十六进制颜色值
方法一:
function rgbToHex(r, g, b) { return ((r << 16) | (g << 8) | b).toString(16); }
方法二:
function rgb2hex(rgb) {
if (rgb.charAt(0) == '#')
return rgb;
var ds = rgb.split(/\D+/);
var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]);
return "#" + zero_fill_hex(decimal, 6);
}
function zero_fill_hex(num, digits) {
var s = num.toString(16);
while (s.length < digits)
s = "0" + s;
return s;
}
十六进制颜色值转换为RGB值
function hex2rgb(sColor){
var sColorChange = [];
for(var i = 1;i<7;i+=2){
sColorChange.push(parseInt("0x"+sColor.substr(i,2)))
//也可以用slice方法
//sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)))
}
return "RGB+("+sColorChange.join(",")+")";
}
函数substr(I,length) 表示从第几个字符开始,截取length个字符,但在ECMAScript语言中并没有对此方法进行标准化,所以不建议使用。
网友评论