javascript RGB转换为HEX十六进制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript RGB转换为HEX十六进制相关的知识,希望对你有一定的参考价值。

本文参考了张鑫旭的javascript Hex十六进制与RGB颜色的相互转换http://www.zhangxinxu.com/wordpress/2010/03/javascript-hex-rgb-hsl-color-convert/

今天用取色器取颜色的时候,发现在chrome中显示如下

技术分享

所以需要对取得的数据进行转换。

 1 Sys.rgbToHex = function(color) {
 2         var arr = [],
 3             strHex;
 4         if (/^(rgb|RGB)/.test (color)) {
 5             arr = color.replace(/(?:\(|\)|rgb|RGB)*/g, "").split(",");
 6             strHex = ‘#‘ + ((1 << 24) + (arr[0] << 16) + (arr[1] << 8) + parseInt(arr[2])).toString(16).substr(1);
 7         } else {
 8             strHex = color;
 9         }
10         return strHex;
11 };

在计算十六进制值的时候,使用的是左移运算符。

左移运算符表示将一个数的二进制形式向前移动,尾部补0。

以上是关于javascript RGB转换为HEX十六进制的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript RGB颜色与hex16进制转换

JavaScript RGB颜色与hex16进制转换

javascript编写一个将十六进制值转换为颜色的函数

将十六进制转换为RGB&RGB转换为十六进制

将 Hsl 转换为 rgb 和 hex

将RGB颜色转换为HEX颜色