許虎虎 開發者工具集

HEX 轉 HSV

Hex:

H: S: V:
HEX 轉 HSV

將 HEX 顏色轉換為 HSV 顏色包含兩個主要步驟:首先將HEX顏色轉換為RGB顏色,然後將RGB顏色轉換為HSV顏色。

步驟 1:將HEX轉換為RGB
HEX顏色碼是一種用六位數字(通常以 # 開頭)表示顏色的方式,其中每兩個字符代表紅色、綠色和藍色通道的值,範圍是 00 到 FF(即0到255的十進制值)。

例如:#FF5733,表示紅色為 FF(即255)、綠色為 57(即87)、藍色為 33(即51)。

將HEX轉換為RGB的過程如下:

提取 HEX 值中的紅色、綠色和藍色分量,並將其轉換為十進制。

例如:#FF5733 -> R = 255, G = 87, B = 51

步驟 2:將RGB轉換為HSV
有了RGB顏色後,將其轉換為HSV顏色模型。轉換公式如下:

計算最大和最小RGB值:

max = max(R, G, B)
min = min(R, G, B)
計算色調H:

如果 max = min,則 H = 0°(灰色,無色調)
如果 max = R,則 H = 60° * ((G - B) / (max - min))
如果 max = G,則 H = 60° * ((B - R) / (max - min)) + 120°
如果 max = B,則 H = 60° * ((R - G) / (max - min)) + 240°
計算出H後,如果H為負數,則加360°以確保H範圍在0°到360°之間。

計算飽和度S:

如果 max = 0,則 S = 0%(灰色或無飽和度)
否則,S = (max - min) / max
計算亮度V:

V = max
範例:
假設有一個HEX顏色:#FF5733

步驟 1:將HEX轉換為RGB
#FF5733 -> R = 255, G = 87, B = 51
步驟 2:將RGB轉換為HSV
計算最大和最小RGB值:

max = max(255, 87, 51) = 255
min = min(255, 87, 51) = 51
計算色調H:

max = R = 255
H = 60° * ((G - B) / (max - min)) = 60° * ((87 - 51) / (255 - 51)) = 60° * (36 / 204) = 60° * 0.1765 ≈ 10.59°
計算飽和度S:

S = (max - min) / max = (255 - 51) / 255 = 204 / 255 ≈ 0.8 (80%)
計算亮度V:

V = max = 255
所以,HSV顏色為:

H ≈ 10.59°
S ≈ 80%
V = 100%
實際範例:
HEX = #FF5733(紅橙色)轉換為HSV:

HSV ≈ (10.59°, 80%, 100%)
HEX = #00FF00(純綠色)轉換為HSV:

HSV = (120°, 100%, 100%)
HEX = #0000FF(純藍色)轉換為HSV:

HSV = (240°, 100%, 100%)
HEX = #FFFF00(純黃色)轉換為HSV:

HSV = (60°, 100%, 100%)
總結:
HEX轉HSV的過程包括兩個主要步驟:先將HEX顏色轉換為RGB顏色,再從RGB轉換為HSV。這個轉換對於數位設計非常重要,因為HSV能夠讓設計師更直觀地調整顏色的色調、飽和度和亮度。