HANDY COLOR CONVERTER
REFERENCES
Information from ChatGPT
以下是最常見的RGB、YUV、HSL和CMYK之間的轉換公式:
-
RGB 到 YUV:
-
Y = 0.299 * R + 0.587 * G + 0.114 * B
-
U = -0.147 * R - 0.289 * G + 0.436 * B
-
V = 0.615 * R - 0.515 * G - 0.100 * B
-
-
YUV 到 RGB:
-
R = Y + 1.140 * V
-
G = Y - 0.394 * U - 0.581 * V
-
B = Y + 2.032 * U
-
-
RGB 到 HSL:
-
首先將 RGB 正規化到範圍 [0, 1]
-
找出最大值 (max) 和最小值 (min) 中間的差異 (delta)
-
計算亮度 (lightness):L = (max + min) / 2
-
計算飽和度 (saturation):
-
如果 delta = 0,則 S = 0(灰色)
-
否則 S = delta / (1 - |2 * L - 1|)
-
-
計算色調 (hue):
-
如果 R 是最大值,H = (G - B) / delta
-
如果 G 是最大值,H = 2 + (B - R) / delta
-
如果 B 是最大值,H = 4 + (R - G) / delta
-
H *= 60,如果 H 小於 0,則 H += 360
-
-
-
HSL 到 RGB:
-
如果 S = 0,則 R = G = B = L
-
否則 C = (1 - |2 * L - 1|) * S
-
H' = H / 60
-
X = C * (1 - |H' mod 2 - 1|)
-
(R', G', B') = (C, X, 0), (X, C, 0), (0, C, X), (0, X, C), (X, 0, C), (C, 0, X) 中的一個,根據 H' 的值
-
m = L - C / 2
-
R = R' + m, G = G' + m, B = B' + m
-
-
RGB 到 CMYK:
-
將 RGB 正規化到範圍 [0, 1]
-
K = 1 - max(R, G, B)
-
如果 K = 1,則 C = M = Y = 0
-
否則 C = (1 - R - K) / (1 - K), M = (1 - G - K) / (1 - K), Y = (1 - B - K) / (1 - K)
-
這些是基本的轉換公式,用於在不同的顏色空間之間進行轉換。注意,這些公式可能因不同的應用或需求而有所調整。