我正在使用Chroma.js库生成色标。
到目前为止,我使用它来生成25'彩虹'颜色:
var scale = chroma.scale(['red','orange','yellow','green','blue','purple']).colors(25);
但是当我记录每种颜色时:
for (var i = 0; i < scale.length; i++) {
console.log(scale[i]);
}
颜色是像#ff0000一样的HEX颜色,如何将它变成RGB?
只需回忆返回值的色度:
for (var i = 0; i < scale.length; i++) {
console.log(chroma(scale[i]).rgb());
}
这是一个将十六进制颜色转换为rgb颜色的函数:
function hexToRgb(hex) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
}
alert( hexToRgb("#0033ff").g ); // "51";
这取自Tim Down的答案,你可以在这里找到更多关于hex到rgb颜色转换的信息: