JavaScript中16进制颜色与rgb颜色互相转换
function hexToRgba(hex, opacity) { if (!hex) hex = '#ededed'; let rgba = 'rgba(' + parseInt('0x' + hex.slice(1,3)) + ',' + parseInt('0x' + hex.slice(3,5)) + ',' + parseInt('0x' + hex.slice(5,7)) + ',' + (opacity || "1") + ')' return rgba }
rgb 转 16进制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function RGBToHex(rgb) { if (!rgb) rgb = 'rgb(237,237,237)' var regexp = /[0-9]{0,3}/g var res = rgb.match(regexp) // 利用正则表达式去掉多余的部分,将rgb中的数字提取 var hexRes = '#' var hex = [ '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' ] var hexArr = [] for ( let i = 0; i < res.length; i++) { if (res[i]) { if (res[i] > 16) { let leftIndex = (res[i] / 16) >> 0 // 向下取整 let rightIndex = +res[i] % 16 hexArr.push(hex[leftIndex]) hexArr.push(hex[rightIndex]) } else { hexArr.push(0) hexArr.push(hex[res[i]]) } } } return hexRes += hexArr.join( '' ) // #EDEDED } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库