-
rbg
转为十六进制
var rgb2hex = function (r, g, b) {
return ((r << 16) | (g << 8) | b).toString(16);
}
- 十六进制转为
rgb
var hex2rgb = function (s) {
var _n = Math.floor('0x' + s);
var _r = _n >> 16 & 255;
var _g = _n >> 8 & 255;
var _b = _n & 255;
}
-
Math.floor('0x' + s);
将传入的字符串转为十六进制数, -
_n >> 16
将_n
转为二进制数,然后右移16位 -
var _b = _n & 255
表示_n
与255
同时转为二进制数,然后按位进行与运算(即&),255
转为1111 1111
, 那么数值_n
获得最后的8位二进制数,再转为十进制,就获得我们想要的_b
了