RGBから16進のコンバーターを見つけましたが、RGBAから16進のコンバーターにしようとしています。元のrgb2hex
機能は動作しますが、新しいrgba2hex
機能はありません。私は間違って何をしていますか? rgba関数はgba、no rを返しています。javascriptシフトの問題(rgbとrgbaを16進数に変換)
// convert RGB color data to hex
function rgb2hex(r, g, b) {
if (r > 255 || g > 255 || b > 255)
throw "Invalid color component";
return ((r << 16) | (g << 8) | b).toString(16);
}
// convert RGBA color data to hex
function rgba2hex(r, g, b, a) {
if (r > 255 || g > 255 || b > 255 || a > 255)
throw "Invalid color component";
return ((r << 32) | (g << 16) | (b << 8) | a).toString(16);
}
例:
alert(rgb2hex(255, 155, 055));
alert(rgba2hex(255, 155, 055, 255));
電流出力:ff9b2d
と9b2dff
予想される出力:ff9b2d
とff9b2dff
ありがとうございます、アルファ値はカスタム、0-255整数のみです。 – Justin808