颜色转换(16进制&RGB)

/**
* 16进制转RGB颜色
* @ hex #E9E9E9
*/
function toRGB(hex)
{
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 sColorChange;
    }
    else
    {
        return sColor;    
    }  
}


/**
 * RGB转换为16进制
 * @ r 红
 * @ g 绿
 * @ b 蓝
 */
function toHex(r,g,b) 
{ 
    return '#'+((r << 16) | (g << 8) | b).toString(16); 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容