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。

posted @ 2016-02-23 18:25  姚姚329  阅读(750)  评论(0编辑  收藏  举报