1. 程式人生 > >PS圖層混合演算法之一(不透明度,正片疊底,顏色加深,顏色減淡)

PS圖層混合演算法之一(不透明度,正片疊底,顏色加深,顏色減淡)

       下列公式中,A代表了上面圖層畫素的色彩值(A=畫素值/255),B代表下面圖層畫素的色彩值(B=畫素值/255),C代表了混合畫素的色彩值(真實的結果畫素值應該為255*C)。該公式也應用於層蒙板。

不透明度模式:

C=d*A+(1-d)*B

相對於不透明度而言,其反義就是透明度。這兩個術語之間的關係就類似於正負之間的關係:100%的不透明度就是0%的透明度。該混合模式相對來說比較簡單,在該混合模式下,如果兩個圖層的疊放順序不一樣,其結果也是不一樣的(當然50%透明除外)。該公式中,A代表了上面圖層畫素的色彩值(A=畫素值/255),d表示該層的透明度,B代表下面圖層畫素的色彩值(B=畫素值/255),C代表了混合畫素的色彩值(真實的結果畫素值應該為255*C)。該公式也應用於層蒙板,在這種情況下,d代表了蒙板圖層中給定位置畫素的亮度,下同,不再敘述。

正片疊底模式:

將兩個顏色的畫素值相乘,然後除以255得到的結果就是最終色的畫素值。通常執行正片疊底模式後的顏色比原來兩種顏色都深。任何顏色和黑色正片疊底得到的任然是黑色,任何顏色和白色執行正片疊底則保持原來的顏色不變,而與其他顏色執行此模式會產生暗室中以此種顏色照明的效果。畫素點的畫素值是0-255,黑色值是0,白色是255.

Multiply 正片疊底

C=A*B

該效果將兩層畫素的標準色彩值(基於0..1之間)相乘後輸出,其效果可以形容成:兩個幻燈片疊加在一起然後放映,透射光需要分別通過這兩個幻燈片,從而被削弱了兩次。


顏色加深模式:

檢視每個通道的顏色資訊,通過增加“對比度”使底色的顏色變暗來反映繪圖色,和白色混合沒變化。

Color Burn 顏色加深

C=1-(1-B)/A

該模式和上一個模式剛好相反。如果上層越暗,則下層獲取的光越少,如果上層為全黑色,則下層越黑,如果上層為全白色,則根本不會影響下層。結果最亮的地方不會高於下層的畫素值。


顏色減淡模式:

檢視每個通道的顏色資訊,通過降低“對比度”使底色的顏色變亮來反映繪圖色,和黑色混合沒變化。

Color Dodge 顏色減淡

C=B/(1-A)

該模式下,上層的亮度決定了下層的暴露程度。如果上層越亮,下層獲取的光越多,也就是越亮。如果上層是純黑色,也就是沒有亮度,則根本不會影響下層。如果上層是純白色,則下層除了畫素為255的地方暴露外,其他地方全部為白色(也就是255,不暴露)。結果最黑的地方不會低於下層的畫素值。

圖 A:


圖B


透明度模式:d=0.5


正片疊底模式


顏色加深模式


顏色減淡模式