我找到了一個RGB到十六進制轉換器,我正在嘗試製作一個RGBA到十六進制轉換器。原始的rgb2hex
函數可以工作,但新的rgba2hex
函數不能。我究竟做錯了什麼? rgba函數返回gba,no r。javascript轉移問題(rgb和rgba爲十六進制)
// 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
謝謝,alpha值是自定義的,只有0-255整數。 – Justin808 2012-03-19 07:41:52