top of page

REFERENCES

Information from ChatGPT

以下是最常見的RGB、YUV、HSL和CMYK之間的轉換公式:

  1. 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

  2. YUV 到 RGB:

    • R = Y + 1.140 * V

    • G = Y - 0.394 * U - 0.581 * V

    • B = Y + 2.032 * U

  3. 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

  4. 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

  5. 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)

這些是基本的轉換公式,用於在不同的顏色空間之間進行轉換。注意,這些公式可能因不同的應用或需求而有所調整。

bottom of page