在設計網頁時,我們使用顏色使網頁更具吸引力和吸引力。我們通常使用十六進位代碼來表示顏色,但有時我們需要為顏色添加透明度,這可以透過 RGBA 值來實現。
十六進位顏色值由#RRGGBBAA表示,RGBA顏色值由rgba(red, green, blue, alpha)。以下是 RGBA 和十六進位值的一些範例 -
Input: #7F11E0 Output: rgba( 127, 17, 224, 1 ) Input: #1C14B0 Output: rgba( 28, 20, 176, 1 )
在本文中,我們將討論使用 Javascript 將 Hex 轉換為 RGBA 的多種方法。
使用parseInt和String.substring方法
#使用陣列解構和正規表示式
parseInt() 函數接受兩個參數:一個表示數字的字串和一個表示基數的數字。然後它將字串轉換為指定基數的整數並傳回結果。
String.substring 方法用於透過取得開始和結束位置來提取字串的某些部分。
要將 HEX 轉換為 RGBA,我們使用以下步驟。
保留 # 並使用 String.substring 方法逐一擷取十六進位字串的一對兩個字元。
擷取後,使用 parseInt 方法將每對轉換為整數。我們知道這些對是十六進位代碼,因此我們需要將 16 傳遞給 parseInt 的第二個參數。
將每對十六進位代碼轉換為整數後,將其連接成 RGBA 格式。
在此範例中,我們將十六進位代碼轉換為 RGBA。
<!DOCTYPE html> <html> <head> <title>Convert Hex to RGBA value using JavaScript</title> </head> <body> <h3>Converting Hex to RGBA value parseInt() and String.substring() methods</h3> <p id="input"> Hex Value: </p> <p id="output"> RGBA Value: </p> <script> let hex = "#7F11E0"; let opacity = "1"; // Convert each hex character pair into an integer let red = parseInt(hex.substring(1, 3), 16); let green = parseInt(hex.substring(3, 5), 16); let blue = parseInt(hex.substring(5, 7), 16); // Concatenate these codes into proper RGBA format let rgba = ` rgba(${red}, ${green}, ${blue}, ${opacity})` // Get input and output fields let inp = document.getElementById("input"); let opt = document.getElementById("output"); // Print the values inp.innerHTML += hex; opt.innerText += rgba; </script> </body> </html>
Javascript 數組 map() 方法會建立一個新數組,其中包含對該數組中每個元素呼叫所提供函數的結果。
String.match 方法用於在將字串與正規表示式匹配時檢索匹配項。
要將 HEX 轉換為 RGBA,我們使用以下步驟。
使用 /\w\w/g 正規表示式和 String.match 方法匹配十六進位字串的兩個連續字母數字字元的每個序列。
您將在數組中獲得三對字母數字字符,並使用 Array.map 和 parseInt 方法將這些字符轉換為整數。
在此範例中,我們將十六進位代碼轉換為 RGBA。
<!DOCTYPE html> <html> <head> <title>Converting Hex to RGBA value using JavaScript</title> </head> <body> <h3>Convert Hex to RGBA value using Array.map() and String.match() methods</h3> <p id="input"> Hex: </p> <p id="output"> RGBA: </p> <script> let hex = "#7F11E0"; let opacity = "1"; // Use a regular expression to extract the individual color values from the hex string let values = hex.match(/\w\w/g); // Convert the hex color values to decimal values using parseInt() and store them in r, g, and b let [r, g, b] = values.map((k) => parseInt(k, 16)) // Create the rgba string using the decimal values and opacity let rgba = ` rgba( ${r}, ${g}, ${b}, ${opacity} )` // Get input and output fields let inp = document.getElementById("input"); let opt = document.getElementById("output"); // Print the values inp.innerHTML += hex; opt.innerText += rgba; </script> </body> </html>
以上是如何使用 JavaScript 將 Hex 值轉換為 RGBA 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!