色碼
有分#hex、#rgb、#rgba、#hsl、#hsla的色碼格式,詳細內容請參考色碼格式
hex 轉換成 RGB
理解HEX顏色格式:
- HEX顏色通常以
#RRGGBB
的格式表示,其中RR
、GG
和BB
分別代表紅色、綠色和藍色的十六進制值。每個顏色分量的範圍是00到FF(十進制的0到255)。
- HEX顏色通常以
轉換步驟:
- 將HEX顏色的每個分量(例如
RR
)轉換為十進制數。這可以通過以下公式實現: - 例如,對於HEX顏色
#B60023
:- 紅色(R):
B6
=(11 X 16) + 6 = 182
- 綠色(G):
00
=(0 X 16) + 0 = 0
- 藍色(B):
23
=(2 X 16) + 3 = 35
- 紅色(R):
因此,
#B60023
對應的RGB格式為rgb(182, 0, 35)
[1]。- 將HEX顏色的每個分量(例如
JavaScript實現:
- 如果需要在程式中實現這個轉換,可以使用以下JavaScript函數:
javascriptfunction 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位數
- 先換算成
rgb
,會得到rgb(182, 0, 35)
。 - 然後,每個值除16
- 紅色(R):
182 / 16 = 11.375
- 綠色(G):
0 / 16 = 0
- 藍色(B):
35 / 16 = 2.1875
- 紅色(R):
- 無條件捨去後,就可以組在一起了 (大於等於10的就是A、B、C、D、E、F)
結果:#b02
,雖然顏色就是還是會有點差就是了