16进制色值转RGB(RGBA)

339 阅读1分钟

16进制色值转rgb(rgba)

新人多多关注 谢谢giegie~

 /*
        16进制颜色转为RGBA格式
        hex #000;
        opacity 0.2
 */  
ColorRgb(hex,opacity=0.2){  
        if(!hex) return false;
        var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;  
     var sColor = hex.toLowerCase();//处理不规则转小写 
     if(sColor && reg.test(sColor)){
         if(sColor.length === 4){  
                        var sColorNew = "#";
                        for(var i=1; i<4; i+=1){  
                                sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));     
                        }  
                        sColor = sColorNew;  
                }  
         //处理六位的颜色值  
                var sColorChange = [];  
                for(var i=1; i<7; i+=2){  
             sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));    
                }
                 return `rgba(${sColorChange.join(",")},${opacity})`;
     }
 }