嗚嗚喔學習筆記: PS Blending Modes (常用混合公式整理)

搜尋此網誌

2025年1月16日 星期四

PS Blending Modes (常用混合公式整理)

 以下內容整理自您提供的圖片,主要是各種「混合模式 (Blending Modes)」對應的運算公式。為方便閱讀,我將其歸納成表格形式,並依常見的 Photoshop/繪圖軟體混合模式命名進行分類。若有些名稱與您日常使用的軟體不同,請自行對照調整。


1. 基本比較類 (Darken / Lighten)

模式名 公式 說明
變暗 (Darken) C=min(A,B)C = \min(A, B) 在每個像素比較兩圖層亮度,取較暗者為結果
變亮 (Lighten) C=max(A,B)C = \max(A, B) 在每個像素比較兩圖層亮度,取較亮者為結果

2. 乘法 / 反向運算類 (Multiply / Screen / 相關衍生)

模式名 公式 說明
正片疊底(Multiply) C=A×B255C = \dfrac{A \times B}{255} 兩圖層相乘後再除以 255,結果通常比原圖更暗
濾色(Screen) C=255(255A)×(255B)255C = 255 - \dfrac{(255 - A) \times (255 - B)}{255} 先將兩圖層反相,再進行乘法,最後再反相,結果通常比原圖更亮
線性加深(Linear Burn) C=A+B255C = A + B - 255(若小於 0 則視作 0) 簡單的線性運算,使結果變暗
線性減淡(Linear Dodge) C=A+BC = A + B(若大於 255 則視作 255) 簡單的線性運算,使結果變亮
顏色加深(Color Burn) C=255(255A)×255BC = 255 - \dfrac{(255 - A) \times 255}{B}(常見定義之一) 透過對亮部的「壓暗」達到加深效果,實作可能略有差異
顏色減淡(Color Dodge) C=A×255255BC = \dfrac{A \times 255}{255 - B}(常見定義之一) 透過對暗部的「提亮」達到減淡效果,實作可能略有差異

註:有關「顏色加深 / 顏色減淡」的公式,在不同軟體或文檔中可能會有些微差異,以上為常見版本參考。


3. 疊加 / 光系混合 (Overlay / Hard Light / Soft Light / Vivid Light 等)

這一類混合模式通常會先判斷 B(上層) 的亮度是否大於或小於中間值 (128),再採用不同公式,使暗部和亮部各自以不同方式混合。

3.1 疊加(Overlay)

通常定義如下(此處以 128 為分界):

  • B128B \le 128C=A×B128 C = \dfrac{A \times B}{128}
  • B>128B > 128C=255(255A)(255B)128 C = 255 - \dfrac{(255 - A)(255 - B)}{128}

3.2 強光(Hard Light)

「強光」與「疊加」雷同,但視角不同(以 B 為基準)。常見定義為:

  • B128B \le 128C=A×B128 C = \dfrac{A \times B}{128}
  • B>128B > 128C=255(255A)(255B)128 C = 255 - \dfrac{(255 - A) (255 - B)}{128}

註:某些資源中,強光(Hard Light) 也會寫成以上 Overlay 互換的形式,請依軟體實際實作為主。

3.3 柔光(Soft Light)

柔光的公式實作比較多樣,常見的 Photoshop 版本定義(以下僅作參考):

  • B128B \le 128C=A×(B+128)255 C = \dfrac{A \times (B + 128)}{255}
  • B>128B > 128C=255(255A)(255B)255 C = 255 - \dfrac{(255 - A)(255 - B)}{255}

不同軟體對「柔光」的實作公式也可能不同,主要是為了產生更柔和的光影過渡。

3.4 亮光(Vivid Light)、線性光(Linear Light)、點光(Pin Light) 等

  • 亮光(Vivid Light)
    結合了「顏色加深 / 顏色減淡」的概念:

    {B128:C=255(255A)×128BB>128:C=A×128255(B128) \begin{cases} B \le 128: & C = 255 - \dfrac{(255 - A)\times 128}{B} \\ B > 128: & C = \dfrac{A \times 128}{255 - (B - 128)} \end{cases}

    (此為參考公式,實際實作可能有所調整。)

  • 線性光(Linear Light)
    常見定義:

    C=A+2B255 C = A + 2B - 255

    (暗部時像線性加深,亮部時像線性減淡。)

  • 點光(Pin Light)
    簡化來說,會將亮部與暗部門檻化,以保留部分像素原值、部分取另一圖層值。常見寫法:

    {B128:C=min(A,2B)B>128:C=max(A,2B255) \begin{cases} B \le 128: & C = \min(A, 2B) \\ B > 128 : & C = \max(A, 2B - 255) \end{cases}

4. 其他特效類

模式名 公式 說明
實色疊加(Hard Mix) C={255(A+B255)0(A+B<255)C = \begin{cases}255 & (A + B \ge 255)\\0 & (A + B < 255)\end{cases} 會使結果只有純色 (非 0 即 255),製造極端色塊效果
差值(Difference) (C = A - B
排除(Exclusion) C=A+BA×B128C = A + B - \dfrac{A \times B}{128} 與差值類似,但結果較柔和
相加(Add) C=A+BC = A + B(若超過 255 則視為疊色 / 補陰) 將像素值相加後再裁切,若值過大即「溢色」。有時用於製作發光效果
減去(Subtract) C=ABC = A - B(若小於 0 則視為 0) 將像素值相減後再裁切,若小於 0 即「補陰」。

5. 小結

  1. 比較類 (變暗 / 變亮) 只做簡單的比較取最小或最大值。
  2. 乘法類 (正片疊底 / 濾色 / 顏色加深 / 顏色減淡 / 線性加深 / 線性減淡) 大多基於「乘法 + 反相」等簡單算式,控制明暗。
  3. 光系混合 (疊加 / 強光 / 柔光 / 亮光 / 點光 / 線性光 / Vivid Light / Linear Light / Pin Light...) 則常用分段函式,依暗部或亮部使用不同算法。
  4. 特效類 (差值 / 排除 / 實色疊加 / 相加 / 減去 ...) 產生反相、門檻化或其他獨特效果。

以上即為根據圖片上列出的混合模式與對應公式所做的整理與歸納。若有個別公式與您實務使用或軟體顯示不符,建議再對照實際的程式碼或官方文件,以取得最準確的數值與算法。希望對您有所幫助。

沒有留言:

張貼留言