例子: 值为:rgba(194, 7, 15, 1) ,转化16进制为: #c2070f

//转化颜色
function getHexColor(color) {var values = color.replace(/rgba?\(/, '').replace(/\)/, '').replace(/[\s+]/g, '').split(',')var a = parseFloat(values[3] || 1),r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255),g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255),b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255)return '#' +('0' + r.toString(16)).slice(-2) +('0' + g.toString(16)).slice(-2) +('0' + b.toString(16)).slice(-2)
}
getHexColor('rgba(194, 7, 15, 1) '); // #c2070f

分析代码:

//转化颜色
function getHexColor(color) { // 传的color须为字符串var values = color.replace(/rgba?\(/, '')  // 把 "rgba(" 去掉,变成  "194, 7, 15, 1)".replace(/\)/, '')       // 把 ")" 去掉,变成 "194, 7, 15, 1".replace(/[\s+]/g, '')   // 把空格去掉,变成 "194,7,15,1".split(',')                 // 变成数组 [194,7,15,1]var a = parseFloat(values[3] || 1), // values[3]是rgba中的a值,没有的话设置a为1,a可能为小数,所以用parseFloat函数r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255),  // 转换为16进制g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255),b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255)return '#' +('0' + r.toString(16)).slice(-2) + // 转换后的16进制可能为一位,比如 7 就转换为 7 , 15 转换为 f('0' + g.toString(16)).slice(-2) + // 当为一位的时候就在前面加个 0,('0' + b.toString(16)).slice(-2) // 若是为两位,加 0 后就变成了三位,所以要用 slice(-2) 截取后两位
},

JS rgba颜色转16进制相关推荐

  1. 【图片】Python对RGB颜色与16进制颜色进行互转

    RGB颜色被称为"真彩色",是Photoshop中默认使用的颜色,也是最常用的一种颜色模式.RGB模式的图像由3个颜色通道组成,分别为红色通道(Red).绿色通道(Green)和蓝 ...

  2. RGB 颜色透明16进制表示

    RGB 颜色透明16进制表示 列如:白色全透明 #00FFFFFF,白色半透明 #1AFFFFFF 100% 00 99% 03 98% 05 97% 07 96% 0A 95% 0D 94% 0F ...

  3. RGB颜色与16进制色以及透明色

    转载请标明出处:http://blog.csdn.net/liang5630/article/details/43483331 ,本文出自:[刘宏亮的博客] RGB颜色与16进制色以及透明色是我们在开 ...

  4. js实现rgb和16进制颜色的相互转化

    16进制转rgb transRgb(color) {var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;var sColor = color.toLowerC ...

  5. 批量转换——颜色代码(16进制)与RGB

    调研 语义分割 各大公开数据集色号时,发现Cityscapes的色号 为16进制 需要的是RGB的值 颜色码转换--网页 用网页来回转换 复制的时候总出现问题(自己的原因,总复制错行) 如果觉得麻烦可 ...

  6. 颜色透明度 16进制对应表

    一.颜色透明度和十六进制对应的表格: 透明度 16进制 100% 0 99% 3 98% 5 97% 7 96% 0A 95% 0D 94% 0F 93% 12 92% 14 91% 17 90% 1 ...

  7. Android内部颜色转16进制颜色

    我们在Avtivity中设置控件的背景色的时候,会发现setBackgroundColor()居然需要int格式的颜色,本来以为是10进制的颜色,后来实验发现,不是10进制的,因为它是有负数的,它的范 ...

  8. C语言(JS)浮点、16进制相互转换

    文章目录 前言 一.float转16进制(可用于C语言) 二.16进制转float(可用于C语言) 三.16进制转float(可用于JS.C语言方法3) 总结 前言 处理Modbus协议float转1 ...

  9. oc 颜色转换 16进制 转换成RGB

    OC 颜色使用基本都是RGB的,我们通常还习惯使用16进制表示颜色,但是OC没有直接可以使用的方法,通常使用工具类来转换一下: #define DEFAULT_VOID_COLOR [UIColor ...

  10. 代码,绘画,设计常用的颜色名称-16进制HEX编码-RGB编码 对照一览表

    排列方式,英文名称的字典序 颜色名 HEX16进制编码 RGB编码 AliceBlue F0F8FF 240,248,255 AntiqueWhite FAEBD7 250,235,215 Aqua ...

最新文章

  1. 微信出现“已停止访问该网页”或“关于潜在的违法或违规内容”怎么办?如何获取被屏蔽的网页的网址?...
  2. 再论c++模板之类型识别之如何得到类型信息
  3. 第十一届蓝桥杯大赛青少组 Python 真题 - 第二题
  4. 解决.NET CF 3.5 Bitmap(Stream)未处理异常问题
  5. MFC中Windows窗口消息循环及多线程之间关系
  6. Java语法基础50题训练(下)
  7. 2022国内低代码平台厂商排行榜—经典收藏
  8. mac securecrt程序无响应_Adobe庆祝Photoshop问世30周年 为Mac和iPad版本提供新功能
  9. 设置windows引导linux分区,windows下安装grub引导Linux
  10. GoAhead2.5源代码分析之1-用户管理(um.c)
  11. Android项目实战(三十一):异步下载apk文件并安装(非静默安装)
  12. linux启动redis指定端口,linux redis实现自定义运行多端口、多实例 | 极安全-JiSec
  13. ​​​​​​​​CloudMounter:挂载云存储作为在 Mac 的本地磁盘
  14. 蚂蚁金服 CEO 突然辞职!去向很意外。。。
  15. linux内核编程--1模块的装载和卸载
  16. Dxdesigner SCH to Mentor PCB
  17. iOS面试合集,面试看这一篇就够了。
  18. OSChina 周日乱弹 —— 十大人艰不拆的网络真相!
  19. linux下mkdir出现mkdir(): File exists错误
  20. C++ | PaddleOCR GPU版使用步骤与测试时间对比(相对CPU)

热门文章

  1. linux关闭rpcbind服务,rpcbind服务 关闭
  2. Python调用海康威视网络摄像头进行远程人脸识别
  3. 方程根求解数值方法matlab实现二分法、牛顿法、斜截法,代码程序,手写思路,理论分析,最基本的操作
  4. 什么叫做:离线下载?-by:nixs
  5. flash mx拖拽实例_Flash MX 2004 Professional的百叶窗过渡效果
  6. python 抓取 快代理-国内普通代理 IP
  7. Eclipse查看对应windowsbuilder+GEF+EMF版本
  8. 黑苹果系统发热与续航
  9. windows入门Elasticsearch7.10(es)之3:本地集群搭建
  10. ttl备份机顶盒固件_机顶盒刷机TTL教程,任意安装安卓软件,免费看电视直播