Skip to content
本站總訪問量
本站訪客數 人次

色碼

有分#hex、#rgb、#rgba、#hsl、#hsla的色碼格式,詳細內容請參考色碼格式

hex 轉換成 RGB

  1. 理解HEX顏色格式

    • HEX顏色通常以#RRGGBB的格式表示,其中RRGGBB分別代表紅色、綠色和藍色的十六進制值。每個顏色分量的範圍是00到FF(十進制的0到255)。
  2. 轉換步驟

    • 將HEX顏色的每個分量(例如RR)轉換為十進制數。這可以通過以下公式實現:Decimal=(16×First Digit)+Second Digit
    • 例如,對於HEX顏色#B60023
      • 紅色(R):B6 = (11 X 16) + 6 = 182
      • 綠色(G):00 = (0 X 16) + 0 = 0
      • 藍色(B):23 = (2 X 16) + 3 = 35

    因此,#B60023對應的RGB格式為rgb(182, 0, 35)[1]。

  3. JavaScript實現

    • 如果需要在程式中實現這個轉換,可以使用以下JavaScript函數:
    javascript
    function hexToRgb(hex) {
        // 去掉前面的#
        hex = hex.replace(/^#/, '');
        // 解析紅、綠、藍分量
        let r = parseInt(hex.substring(0, 2), 16);
        let g = parseInt(hex.substring(2, 4), 16);
        let b = parseInt(hex.substring(4, 6), 16);
        return `rgb(${r}, ${g}, ${b})`;
    }
    
    console.log(hexToRgb("#B60023")); // 輸出: rgb(182, 0, 35)

6位數轉換為3位數

  1. 先換算成rgb,會得到rgb(182, 0, 35)
  2. 然後,每個值除16
    • 紅色(R): 182 / 16 = 11.375
    • 綠色(G): 0 / 16 = 0
    • 藍色(B): 35 / 16 = 2.1875
  3. 無條件捨去後,就可以組在一起了 (大於等於10的就是A、B、C、D、E、F)

結果:#b02,雖然顏色就是還是會有點差就是了

Contributors

The avatar of contributor named as lucashsu95 lucashsu95

Changelog