この質問と他の多くの質問に続いて、RGB値を16進値に変換しようとしています。
最も使用され、受け入れられている回答をコピー/貼り付けて、このスクリプトを作成しました
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
なぜ機能しないのですか?