flo-utils
Version:
23 lines (20 loc) • 620 B
JavaScript
/**
* @name hexToRgb
* @param [string] #xxx || #xxxxxx
* @param [number] a, 透明度
* @return rgb(r, g, b)
*/
function hexToRgb(hex) {
var a = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0.8;
var rgb = [];
var hexx = hex.substr(1); // 去除前缀 # 号
if (hexx.length === 3) {
// 处理 "#abc" 成 "#aabbcc"
hexx = hexx.replace(/(.)/g, '$1$1');
}
hexx.replace(/../g, function (color) {
rgb.push(parseInt(color, 0x10)); // 按16进制将字符串转换为数字
});
return "rgba(".concat(rgb.join(', '), ", ").concat(a, ")");
}
export default hexToRgb;