位运算实现rgb和16进制的转换

 发布日期:2019-03-22 06:32:06  阅读次数:阅读数:27  来源:
  1. 16进制颜色值转RGB:

    // hex = #FFFFFF
    (hex) => {
        hex = hex.replace('#','0x')
        return `rgb(${hex >> 16},${hex >> 8 & 0xff},${hex & 0xff})`
    }
    
  2. RGB转16进制颜色值:

    // 255,255,255
    (r,g,b) => (r << 16 | g << 8 | b).toString(16)
    
    // rgb = 'rgb(255,255,255)'
    (rgb) => {
        //用不是数字的字符分割原字符串
        rbg = rgb.split(/[^\d]+/g)
        return (rgbArr[1]<<16 | rgbArr[2]<<8 | rgbArr[3]).toString(16)
    }
    
如果您有好的新闻与建议,欢迎点击文章投稿

    发表评论

    电子邮件地址不会被公开。

  • 内容

  • 网名