将rgb表示方式转换为hex表示方式-------------将hex表示方式转换为rgb表示方式(这里返回rgb数组组合)
2024-09-27 16:02:19
/**
* kevin 2021.1.4
* 将rgb表示方式转换为hex表示方式
* @param {string} rgbColor 传过来的hex格式的颜色
* @returns {string | null}
*/
export function colorHex(rgbColor) {
var _this = rgbColor
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/
if (/^(rgb|RGB)/.test(_this)) {
var aColor = _this.replace(/(?:\(|\)|rgb|RGB)*/g, '').split(',')
var strHex = '#'
for (var i = 0; i < aColor.length; i++) {
var hex = Number(aColor[i]).toString(16)
hex = hex < 10 ? 0 + '' + hex : hex// 保证每个rgb的值为2位
if (hex === '0') {
hex += hex
}
strHex += hex
}
if (strHex.length !== 7) {
strHex = _this
}
return strHex
} else if (reg.test(_this)) {
var aNum = _this.replace(/#/, '').split('')
if (aNum.length === 6) {
return _this
} else if (aNum.length === 3) {
var numHex = '#'
for (var j = 0; j < aNum.length; j += 1) {
numHex += (aNum[j] + aNum[j])
}
return numHex
}
} else {
return _this
}
}
/**
* kevin 2021.1.4
* 将hex表示方式转换为rgb表示方式(这里返回rgb数组组合)
* @param {string} hexColor 传过来的hex格式的颜色
* @returns {string | null}
*/
export function colorRgb(hexColor) {
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/
var sColor = hexColor.toLowerCase()
if (sColor && reg.test(sColor)) {
if (sColor.length === 4) {
var sColorNew = '#'
for (var i = 1; i < 4; i += 1) {
sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1))
}
sColor = sColorNew
}
// 处理六位的颜色值
var sColorChange = []
for (var j = 1; j < 7; j += 2) {
sColorChange.push(parseInt('0x' + sColor.slice(j, j + 2)))
}
return sColorChange
} else {
return sColor
}
}
最新文章
- JS/CSS收藏
- 解决bind错误 bind: Address already in use
- java Util
- PHP 魔术引号
- Remainder
- JDK环境变量安装正确还报错的情况解决方案
- android 开发 获取各种intent (图片、apk文件、excel、pdf等文件)
- TS流格式(转)
- linux 学习笔记 GNU工具链简介
- npm:Node.js的软件包管理器
- 强势围观,CSDN代码引用bug
- POJ 2942 Knights of the Round Table - from lanshui_Yang
- ASP.NET MVC中错误处理方式
- Apache 2.4.27 局域网访问提示 You don&#39;t have permission to access / on this server
- springboot 读取 resource文件
- 数据库 Mysql 使用,优化,索引
- CF1114E Arithmetic Progression
- JVM Scan
- alpha阶段 代码结构及技术难点简介
- HiveThrift
热门文章
- House_of_orange 学习小结
- 一周内被程序员疯转3.2W次,最终被大厂封杀的《字节跳动Android面试手册》!
- Ubuntu上安装gevent
- MongoDB-01-基础
- SpringBoot开发二十一-发送私信
- NOIP 模拟 $36\; \rm Dove 打扑克$
- 题解 P6271 [湖北省队互测2014]一个人的数论
- 百度地图开发-引入地图SDK并配置 02
- 【MyBatis系列5】MyBatis4大核心对象SqlSessionFactoryBuiler,SqlSessionFactory,SqlSession,Mapper
- 【mysql】截取查询分析