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
            }
          }
  • 相关阅读:
    模式识别之检索---Bag of visual word(词袋模型)
    模式识别之knn---KNN(k-nearest neighbor algorithm)--从原理到实现
    目标跟踪之meanshift---meanshift2
    图像处理之增强---图像模糊检测
    模式识别之非参数估计---非参估计中的核函数
    haproxy文章
    nginx 有关防盗链的设置
    haproxy 关闭ssl3
    navicat 在写存储过程的时候总是说语法错误
    开源的报表系统easyreport的部署
  • 原文地址:https://www.cnblogs.com/superman-21/p/13472101.html
Copyright © 2011-2022 走看看