繁体   English   中英

Html在Rgb中获得颜色

[英]Html get color in Rgb

好吧,我需要在webgl中做一点projet并且需要将颜色从html传递到javascript,问题是我需要Rgb中的颜色与webGl一起工作,我需要知道的是,如果有办法使用html5从输入中获取rgb中的颜色。

我这样做:

<input type="color" onchange="cor()" id="color">

这里的问题是,如果我试图得到这种颜色,他给我十六进制值,我知道通过javascript与函数我可以将十六进制转换为rgb但我需要知道是否有更简单的方法来做到这一点,并把它工作。

幸运的是,HTML5中的颜色值只有在#XXXXXX格式(即rgb(...)#XXX无效)时才有效。 我们可以利用这个优势,因为我们总是知道RGB位置在结果值中的确切位置:

#XXXXXX
#RRGGBB

要将其转换为rgb(...) ,我们只需要去掉#字符并将RRGGBB值转换为十进制:

// #XXXXXX -> ["XX", "XX", "XX"]
var value = value.match(/[A-Za-z0-9]{2}/g);

// ["XX", "XX", "XX"] -> [n, n, n]
value = value.map(function(v) { return parseInt(v, 16) });

// [n, n, n] -> rgb(n,n,n)
return "rgb(" + value.join(",") + ")";

借助JavaScript的优点,我们可以在一行代码中完成所有操作:

return "rgb(" + "#FF0000".match(/[A-Za-z0-9]{2}/g).map(function(v) { return parseInt(v, 16) }).join(",") + ")";
-> "rgb(255,0,0)"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM