js 颜色格式rgb->16进制的转换

http://www.zhangxinxu.com/wordpress/2010/03/javascript-hex-rgb-hsl-color-convert/

这个链接是一篇对颜色格式转换的必要性和原理介绍的比较清晰的一篇文章,需要的小伙伴可以借鉴一下~

今天看到一段做转换的代码,较于之前用过的代码更加精简,个人觉得很棒~特此记录。

 function zero_fill_hex(num, digits) {
        var s = num.toString(16);
        while (s.length < digits)
            s = "0" + s;
        return s;
    }
 function rgb2hex(rgb) {
        if (rgb.charAt(0) == '#')
            return rgb;
        var ds = rgb.split(/\D+/);
        var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]);
        return "#" + zero_fill_hex(decimal, 6);
    }




你可能感兴趣的:(js 颜色格式rgb->16进制的转换)