HEX 轉 RGB 公式與計算方法
學會手動將 HEX 色碼轉換為 RGB。了解十六進位到十進位的轉換原理、計算步驟和 JavaScript 實作。
轉換原理
HEX 色碼本質上就是 RGB 值的十六進位表示。#RRGGBB 中:
轉換就是把每組兩位數從十六進位轉為十進位。
十六進位對照表
| 十六進位 | 十進位 |
|---|---|
| 0 | 0 |
| 1-9 | 1-9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
計算公式
每組兩位數的轉換公式:
十進位 = 第一位 × 16 + 第二位
實際範例
範例一:#FF5733
範例二:#2596BE
範例三:#000000
反向:RGB 轉 HEX
公式:十進位 ÷ 16 = 商...餘數 → 第一位第二位
例如 RGB(37, 150, 190):
JavaScript 實作
// HEX → RGB
function hexToRgb(hex) {
const r = parseInt(hex.slice(1, 3), 16);
const g = parseInt(hex.slice(3, 5), 16);
const b = parseInt(hex.slice(5, 7), 16);
return { r, g, b };
}
// RGB → HEX
function rgbToHex(r, g, b) {
return '#' + [r, g, b]
.map(v => v.toString(16).padStart(2, '0'))
.join('');
}
// 使用
hexToRgb('#2596BE'); // { r: 37, g: 150, b: 190 }
rgbToHex(37, 150, 190); // '#2596be'