簡體   English   中英

JavaScript從十六進制獲取alpha值

[英]JavaScript to get alpha value from HEX

我正在開發一個工具,可以將RGB顏色在RGB,RGBA,HEX,HSLA,NAMED等任何最大格式之間轉換。

還將HEX(#FFFFFF)轉換為Alpha HEX(#00FFFFFF),以用於IE6中的過濾器。 但是,我的問題是我無法將alpha值(即00)從Alpha十六進制顏色轉換為rgba alpha值(即0.5)。 請幫我...

只需將前兩位數字從十六進制轉換為數字,然后除以255。

var rx = /^#([0-9a-f]{2})[0-9a-f]{6}$/i;
var m = rx.match(theColor);
if (m) {
   alpha = parseInt(m[1], 16) / 255;
}

我知道您已經接受了KennyTM的回答,但我想還是要添加此內容。 您可以對十六進制轉換后的數字使用移位和掩碼來獲取其中的某些部分:

// Return an array in the format [ red, green, blue, alpha ]
function hex2rgba(str) {
    var num = parseInt(str.slice(1), 16); // Convert to a number
    return [num >> 16 & 255, num >> 8 & 255, num & 255, num >> 24 & 255];
}

var rgba = hex2rgba("#00FFFFFF");
// -> [255, 255, 255, 0]

然后,您可以將最后一個元素除以255,以獲得可以與IE過濾器一起使用的值。

更多信息:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM