RGB色彩模式與網頁十六進制代碼(如 `#FF5733`)**表示的是同一種顏色**,只是表達形式不同。本文釐清二者關係、轉換方法與常見誤區。
| 維度 | RGB模式 | 十六進制代碼 |
|---|---|---|
| 本質 | 加色模型:紅(R)、綠(G)、藍(B)三通道光強疊加 | RGB數值的**十六進制緊湊書寫形式** |
| 數值範圍 | 各通道 0-255 (8位) | 各通道 00-FF (兩位十六進制) |
| 典型寫法 | `rgb(255, 87, 51)` / `rgba(255, 87, 51, 0.8)` | `#FF5733` / `#FF5733CC` (8位含Alpha) |
| 應用場景 | CSS屬性值、圖像處理、編程API | CSS/HTML屬性值、設計工具、顏色選取器 |
// RGB → HEX
function rgbToHex(r, g, b) {
return "#" + [r, g, b].map(x => x.toString(16).padStart(2, '0')).join('').toUpperCase();
}
// HEX → RGB
function hexToRgb(hex) {
const clean = hex.replace('#', '');
const bigint = parseInt(clean, 16);
return [(bigint >> 16) & 255, (bigint >> 8) & 255, bigint & 255];
}
你提到的「色彩模式」通常指色彩空間/模型:
**十六進制代碼僅用於表示RGB模式下的具體顏色值**,不屬於獨立模式。
記住:RGB是模型,十六進制是該模型下數值的十六進制序列化表示,二者如「十進制數字」與「二進制數字」的關係。