在这个问题和许多其他问题之后,我正在尝试将 rgb 值转换为十六进制值。
复制/粘贴最常用和接受的答案,我制作了这个脚本
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(rgb) {
var colors = rgb.split("(")
colors = colors[1].split(")")
colors = colors[0].split(",")
var r = 255 - parseInt(colors[0])
var g = 255 - parseInt(colors[1])
var b = 255 - parseInt(colors[2])
return componentToHex(r) + componentToHex(g) + componentToHex(b);
}
alert(rgbToHex("rgb(0, 51, 255)"))
结果:
ffcc00
预期结果:
0033ff
为什么它不起作用?