RGB轉到HSV和HSL公式 | rgb hsv線上轉換
HSL和HSV在數學上定義為在RGB空間中的顏色的 R, G 和 B 的座標的變換。[編輯[1]]從RGB到HSL或HSV的轉換設(r, g, b)分別是一個顏色的紅、綠和藍座標,它們的值是在0到1之間的實數。設 max 等價於 r, g 和 b 中的最大者。設 min 等於這些值中的最小者。要找到在HSL空間中的(h, s, l)值,這裡的 h ∈[0,360)是角度的色相角,而 s, l ∈[0,1]是飽和度和亮度,計算為:h 的值通常規範化到位於0到360°之間。而 h =0用於 max = min 的(就是灰色)時候而不是留下 h 未定義。HSL和HSV有同樣的色相[2]定義,但是其他分量不同。HSV顏色的 s 和 ...
HSL 和 HSV 在數學上定義為在 RGB 空間中的顏色的 R, G 和 B 的座標的變換。
[編輯[1]]從 RGB 到 HSL 或 HSV 的轉換設 (r, g, b) 分別是一個顏色的紅、綠和藍座標,它們的值是在 0 到 1 之間的實數。設 max 等價於 r, g 和 b 中的最大者。設 min 等於這些值中的最小者。要找到在 HSL 空間中的 (h, s, l) 值,這裡的 h ∈ [0, 360)是角度的色相角,而 s, l ∈ [0,1] 是飽和度和亮度,計算為:
h 的值通常規範化到位於 0 到 360°之間。而 h = 0 用於 max = min 的(就是灰色)時候而不是留下 h 未定義。
HSL 和 HSV 有同樣的色相[2]定義,但是其他分量不同。HSV 顏色的 s 和 v 的值定義如下:
[編輯[3]]從 HSL 到 RGB 的轉換給定 HSL 空間中的 (h, s, l) 值定義的一個顏色,帶有 h 在指示色相角度的值域 [0, 360)中,分別表示飽和度和亮度的s 和 l 在值域 [0, 1] 中,相應在 RGB 空間中的 (r, g, b) 三原色,帶有分別對應於紅色、綠色和藍色的 r, g 和 b 也在值域 [0, 1] 中,它們可計算為:
首先,如果 s = 0,則結果的顏色是非彩色的、或灰色的。在這個特殊情況,r, g 和 b 都等於 l。注意 h 的值在這種情況下是未定義的。
當 s ≠ 0 的時候,可以使用下列過程:[1]
(h 規範化到值域 [0,1)內)對於每個顏色向量[4] Color = (ColorR, ColorG, ColorB) = (r, g, b),
[編輯[5]]從 HSV 到 RGB 的轉換類似的,給定在 HSV 中 (h, s, v) 值定義的一個顏色,帶有如上的 h,和分別表示飽和度和明度的 s 和 v 變化於 0 到 1 之間,在 RGB 空間中對應的 (r, g, b) 三原色可以計算為:
對於每個顏色向量 (r, g, b),
R...