萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 軟體知識 >  >> 影像處理 >> 平面設計理論

Excel 實戰:從零構建 HSL 轉 RGB 批量改色工具,解決 PPT 繁瑣操作痛點

PowerPoint 原生僅支持 RGB 與 HSL 兩種色彩模式,且批量修改顏色需層層點擊「選擇形狀 → 填充 → 其他填充 → 自定義 → 修改數值」,效率極低。市面插件多功能不全,筆者決定自建 Excel 偽插件,利用維基百科公式實現 HSL 轉 RGB 計算,實現一鍵批量出色值。本文完整記錄從公式拆解、值域轉換、Excel 函數構建到驗證修正的全過程,供同路人參考。

一、 核心痛點與解決思路

Office 單一形狀調色尚可接受,但批量改色時重複操作極其繁瑣。RGB 與 HSL 皆為成熟色彩模型,維基百科提供標準轉換算法,Excel 擅長數據計算,三者結合即可構建輕量轉換工具。

圖1 PPT 原生批量改色流程繁複

二、 維基百科標準算法拆解

給定 HSL 值:h ∈ [0, 360)(色相角度),s, l ∈ [0, 1](飽和度、亮度)。目標求 r, g, b ∈ [0, 1]。

  • 特殊情況:s = 0 時為無彩色(灰階),r = g = b = l。
  • 一般情況(s ≠ 0):
    1. 計算 q:l < 0.5 ? q = l × (1 + s) : q = l + s - l × s
    2. 計算 p = 2l - q
    3. 色相歸一化 hk = h / 360
    4. 三通道暫時色相:tR = hk + 1/3、tG = hk、tB = hk - 1/3
    5. 修正 tC 至 [0, 1]:tC < 0 ? +1 : tC > 1 ? -1 : tC
    6. 根據 tC 區間分段計算 nC(nR, nG, nB):
      • tC < 1/6:p + (q - p) × 6 × tC
      • 1/6 ≤ tC < 1/2:q
      • 1/2 ≤ tC < 2/3:p + (q - p) × 6 × (2/3 - tC)
      • tC ≥ 2/3:p
    7. 最終 RGB = nC × 255

三、 Excel 實戰構建步驟

1. 輸入區佈局(圖2)

單元格規劃:B3=H、C3=S、D3=L(均為 0-255 整數),F3=R、G3=G、H3=B(輸出 0-255)。

圖2 單元格佈局與初始值

2. 關鍵值域轉換(核心坑點)

公式要求 h∈[0,360)、s,l∈[0,1],但輸入為 0-255。轉換規則:H' = H(已是角度)、S' = S/255、L' = L/255。切記:H 不除 360,S/L 才除 255,這是筆者初期犯錯最多處。

3. 輔助計算欄(K 列)

單元格含義Excel 公式
K3q=IF(D3/255<0.5, D3/255*(1+C3/255), D3/255+C3/255-D3/255*C3/255)
K4p=2*D3/255-K3
K5hk=B3/360
K6tR=K5+1/3
K7tG=K5
K8tB=K5-1/3
K9tR修正=IF(K6<0,K6+1,IF(K6>1,K6-1,K6))
K10tG修正=IF(K7<0,K7+1,IF(K7>1,K7-1,K7))
K11tB修正=IF(K8<0,K8+1,IF(K8>1,K8-1,K8))

4. nR/nG/nB 分段函數構建

以 nR (K12) 為例,引用修正後的 tR (K9) 並鎖定 p(K4)、q(K3):

=IF(K9<1/6,$K$4+($K$3-$K$4)*6*K9,IF(AND(K9<1/2,K9>=1/6),$K$3,IF(AND(K9<2/3,K9>=1/2),$K$4+($K$3-$K$4)*6*(2/3-K9),$K$4)))*255

向右拖動填充 nG (K13)、nB (K14),引用自動變為 K10、K11。

5. 最終輸出層整合 S=0 判斷

F3(R) = IF($C3=0,$D$3,K12)
G3(G) = IF($C3=0,$D$3,K13)
H3(B) = IF($C3=0,$D$3,K14)

四、 驗證與已知問題

測試標準紅 HSL(0, 255, 128) → 應得 RGB(255, 0, 0)。實測中發現 H 值域處理存在邊界問題(H=360 時應歸 0),需在 K5 加入 =MOD(B3,360)/360 修正。另因 Excel 浮點運算精度,極邊界值可能有 ±1 偏差,實際應用可用 ROUND(...,0) 取整。

五、 結語

這個 Excel 工具雖簡陋,卻實實在在解決了批量改色的燃眉之急。無需編程基礎,善用現成公式與表格邏輯,設計師同樣能構建屬於自己的效率武器。文件已開源,歡迎取用優化。

copyright © 萬盛學電腦網 all rights reserved