zoukankan      html  css  js  c++  java
  • RRGGBBAA或者RRGGBB转换成rgba()

    //十六进制颜色值的正则表达式
    var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;  
    /*16进制颜色转为RGB格式*/  
    var colorRgb = function(color){  
        if(color.length>7){
          var num = color.slice(7,9).toUpperCase();
          var x = opacityColor(num)
          color = color.slice(0,7);
        }
        var sColor =color.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)));    
            }  
              //转换为rgb,此时不用传递参数
            if(x==undefined){
              return "rgb(" + sColorChange.join(",") + ")";
            }else{
              //转换为rgba,透明度为传递的参数x;
              return "rgba(" + sColorChange.join(",") + ","+x+")"; 
            }
        }else{  
            return sColor;    
        }  
    }; 
    
    function opacityColor(num){
      if(num=='FF'){
        return 1
      }else if(num=='FC'){
        return .99
      }else if(num=='FA'){
        return .98
      }else if(num=='F7'){
        return .97
      }else if(num=='F5'){
        return .96
      }else if(num=='F2'){
        return .95
      }else if(num=='F0'){
        return .94
      }else if(num=='ED'){
        return .93
      }else if(num=='EB'){
        return .92
      }else if(num=='E8'){
        return .91
      }else if(num=='E6'){
        return .9
      }else if(num=='E3'){
        return .89
      }else if(num=='E0'){
        return .88
      }else if(num=='DE'){
        return .87
      }else if(num=='DB'){
        return .86
      }else if(num=='D9'){
        return .85
      }else if(num=='D6'){
        return .84
      }else if(num=='D4'){
        return .83
      }else if(num=='D1'){
        return .82
      }else if(num=='CF'){
        return .81
      }else if(num=='CC'){
        return .80
      }else if(num=='C9'){
        return .79
      }else if(num=='C7'){
        return .78
      }else if(num=='C4'){
        return .77
      }else if(num=='C2'){
        return .76
      }else if(num=='BF'){
        return .75
      }else if(num=='BD'){
        return .74
      }else if(num=='BA'){
        return .73
      }else if(num=='B8'){
        return .72
      }else if(num=='B5'){
        return .71
      }else if(num=='B3'){
        return .70
      }else if(num=='B0'){
        return .69
      }else if(num=='AD'){
        return .68
      }else if(num=='AB'){
        return .67
      }else if(num=='A8'){
        return .66
      }else if(num=='A6'){
        return .65
      }else if(num=='A3'){
        return .64
      }else if(num=='A1'){
        return .63
      }else if(num=='9E'){
        return .62
      }else if(num=='9C'){
        return .61
      }else if(num=='99'){
        return .6
      }else if(num=='96'){
        return .59
      }else if(num=='94'){
        return .58
      }else if(num=='91'){
        return .57
      }else if(num=='8F'){
        return .56
      }else if(num=='8C'){
        return .55
      }else if(num=='8A'){
        return .54
      }else if(num=='87'){
        return .53
      }else if(num=='85'){
        return .52
      }else if(num=='82'){
        return .51
      }else if(num=='80'){
        return .5
      }else if(num=='7D'){
        return .49
      }else if(num=='7A'){
        return .48
      }else if(num=='78'){
        return .47
      }else if(num=='75'){
        return .46
      }else if(num=='73'){
        return .45
      }else if(num=='70'){
        return .44
      }else if(num=='6E'){
        return .43
      }else if(num=='6B'){
        return .42
      }else if(num=='69'){
        return .41
      }else if(num=='66'){
        return .4
      }else if(num=='63'){
        return .39
      }else if(num=='61'){
        return .38
      }else if(num=='5E'){
        return .37
      }else if(num=='5C'){
        return .36
      }else if(num=='59'){
        return .35
      }else if(num=='57'){
        return .34
      }else if(num=='54'){
        return .33
      }else if(num=='52'){
        return .32
      }else if(num=='4F'){
        return .31
      }else if(num=='4D'){
        return .3
      }else if(num=='4A'){
        return .29
      }else if(num=='47'){
        return .28
      }else if(num=='45'){
        return .27
      }else if(num=='42'){
        return .26
      }else if(num=='40'){
        return .25
      }else if(num=='3D'){
        return .24
      }else if(num=='3B'){
        return .23
      }else if(num=='38'){
        return .22
      }else if(num=='36'){
        return .21
      }else if(num=='33'){
        return .2
      }else if(num=='30'){
        return .19
      }else if(num=='2E'){
        return .18
      }else if(num=='2B'){
        return .17
      }else if(num=='29'){
        return .16
      }else if(num=='26'){
        return .15
      }else if(num=='24'){
        return .14
      }else if(num=='21'){
        return .13
      }else if(num=='1F'){
        return .12
      }else if(num=='1C'){
        return .11
      }else if(num=='1A'){
        return .1
      }else if(num=='17'){
        return .09
      }else if(num=='14'){
        return .08
      }else if(num=='12'){
        return .07
      }else if(num=='0F'){
        return .06
      }else if(num=='0D'){
        return .05
      }else if(num=='0A'){
        return .04
      }else if(num=='08'){
        return .03
      }else if(num=='05'){
        return .02
      }else if(num=='03'){
        return .01
      }else if(num=='00'){
        return 0
      }
    }
    

      

  • 相关阅读:
    EdgeDB 1.0 Alpha 4 发布了
    静态文件请求路径 rewrite nginx && openresty 实现
    Giving Application Pools Event Log Access
    一张图看懂ASP.NET MVC5认证和授权过滤器的执行顺序
    git check-ignore
    What does “Challenge” term stand for?
    Implementing MVC 5 IAuthenticationFilter
    HttpContext.Current.User is null even though Windows Authentication is on
    When should the volatile keyword be used in C#?
    HttpApplicationState.Remove(String) Method
  • 原文地址:https://www.cnblogs.com/huangqiming/p/9025729.html
Copyright © 2011-2022 走看看