color 16进制格式和rgb的相互转换
Posted superman-21
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
}
}
以上是关于color 16进制格式和rgb的相互转换的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
python中PIL.Image和OpenCV图像格式相互转换
ColorUtilColor工具类(color整型rgb数组16进制互相转换)
JavaScript之颜色值相互转换十六进制正则rgbtoStringslicetoUpperCasesplitfiltermapparseInt