【前端】js方法 hex转rgba
//hex转rgba
javascript
//hex转rgba
const hex2Rgba = (bgColor, alpha = 1) => {
let color = bgColor.slice(1); // 去掉'#'号
let rgba = [
parseInt("0x" + color.slice(0, 2)),
parseInt("0x" + color.slice(2, 4)),
parseInt("0x" + color.slice(4, 6)),
alpha
];
return "rgba(" + rgba.toString() + ")";
};
//用法
hex2Rgba('#ffffff', 1)
//'rgba(255,255,255,1)'
javascript
来自u-charts.js
// hex 转 rgba
function hexToRgb(hexValue, opc) {
var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
var hex = hexValue.replace(rgx, function(m, r, g, b) {
return r + r + g + g + b + b;
});
var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
if(!rgb){
return hexValue;
}
var r = parseInt(rgb[1], 16);
var g = parseInt(rgb[2], 16);
var b = parseInt(rgb[3], 16);
return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';
}
十进制转hex
javascript
const getred = (color) => {
const red = (color & 0xff0000) >> 16;
return red;
};
const getgreen = (color) => {
const green = (color & 0x00ff00) >> 8;
return green;
};
const getblue = (color) => {
const blue = color & 0x0000ff;
return blue;
};
// 十进制转hex
const Rgb2Hex = (color) => {=
const r = getred(color);
const g = getgreen(color);
const b = getblue(color);
const hex = "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
return hex;
}