zoukankan      html  css  js  c++  java
  • color 16进制格式和rgb的相互转换

    hex2Rgb(hex) {
            //十六进制转为RGB
            var rgb = [] // 定义rgb数组
            if (/^#[0-9A-F]{3}$/i.test(hex)) {
              //判断传入是否为#三位十六进制数
              let sixHex = '#'
              hex.replace(/[0-9A-F]/gi, function (kw) {
                sixHex += kw + kw //把三位16进制数转化为六位
              })
              hex = sixHex //保存回hex
            }
            if (/^#[0-9A-F]{6}$/i.test(hex)) {
              //判断传入是否为#六位十六进制数
              hex.replace(/[0-9A-F]{2}/gi, function (kw) {
                rgb.push(eval('0x' + kw)) //十六进制转化为十进制并存如数组
              })
              debugger
              return { red: rgb[0], green: rgb[1], blue: rgb[2] } //输出RGB格式颜色
            } else {
              console.log(`Input ${hex} is wrong!`)
              return 'rgb(0,0,0)'
            }
          },
          //"rgb(255,255,111)"
          rgb2Hex(rgb) {
            if (/^rgb((d{1,3}\,){2}d{1,3})$/i.test(rgb)) {
              //test RGB
              var hex = '#' //定义十六进制颜色变量
              rgb.replace(/d{1,3}/g, function (kw) {
                //提取rgb数字
                kw = parseInt(kw).toString(16) //转为十六进制
                kw = kw.length < 2 ? 0 + kw : kw //判断位数,保证两位
                hex += kw //拼接
              })
              return hex //返回十六进制
            } else {
              console.log(`Input ${rgb} is wrong!`)
              return '#000' //输入格式错误,返回#000
            }
          }
  • 相关阅读:
    [转]MySQL日志——Undo | Redo
    linux查看系统的硬件信息
    Linux HDD information (SATA/SCSI/SAS/SSD)
    sysbench 0.5使用手册
    MYSQL数据丢失讨论
    innodb_flush_method理解
    快速从mysqldump文件中恢复一个表
    Python 交互模式中 Delete/Backspace 键乱码问题
    Django--源码安装
    greenplum-时间处理
  • 原文地址:https://www.cnblogs.com/superman-21/p/13472101.html
Copyright © 2011-2022 走看看