網上已經有很多講解ps的圖層混合模式,有些不詳細甚至是錯誤的,參考網上給出的公式及其自己在驗證推倒的,給出27種的混合模式算法公式。也許存在一定的錯誤性,畢竟沒有官方給出公式,只能說以供參考吧。 只考慮二層,圖像是RGB,A是基色,B是混合色。只有B層存在混合模式。C是結果色。 Min函數代表取最小值,Max函數代表取最大值,Abs
《1》基礎型
主要利用圖層的不透明度及圖像填充值來控制下層的圖像,達到與底色溶解在一起的效果
一、正常(normal)
C[i]=B[i];
二、溶解(Dissolve)
這不是簡單的計算公式,需要進行多次函數返回。
按照不透明度的大小來確定顆粒的數量,兩數值成正比。
《2》降暗型
主要是通過濾除圖像中的亮調圖像,從而達到使圖像變暗的目的
三、變暗(Darken)
C[i]=Min(A[i],B[i]);
四、正片疊加(Multiply)
C[i]=B[i]*(A[i]/255);
五、顏色加深(Color Burn)
C[i]={B[i]== 0 ? B[i] : Max(0, Max(0, (255 - ((255 - A[i]) << 8 ) / B[i])))};
六、線性加深(Liner Burn)
C[i]={(A[i] + B[i] < 255) ? 0 : (A[i] + B[i] - 255)};
七、 深色(Darken Color )
當前圖層與下方圖層相比,顏色深(RGB總和較小)的顯現出來,顏色淺的就被隱藏。
《3》提亮型
此類型的圖層混合模式與降暗型混合模式剛好相反,它通過濾除圖像中的暗調信息,達到圖像變亮的目的
八、 變亮(lighten)
C[i]={(B[i] > A[i]) ? B[i] : A[i]};
九、 濾色(Screen)
C[i]={255 - (((255 - A[i]) * (255 - B[i])) >> 8)};
十、顏色減淡(Color Dodge)
c={(B== 255) ?B : Min(255, ((A<< 8 ) / (255 - B)))}
十一、 線性減淡(也稱“添加” 英文名字Add)
C[i]=Min(255, (A[i] + B[i]))
十二、 淺色 (lighten Color)
當前圖層與下方圖層相比,顏色淺(RGB總和較小)的顯現出來,顏色深的就被隱藏。
《4》融合型
主要用於不同程度的融合圖像
十三、 疊加(Overlay)
C[i]={(B[i] < 128) ? (2 * A[i] * B[i] / 255) : (255 - 2 * (255 - A[i]) * (255 - B[i]) / 255)};
十四、 柔光(Soft Light)
計算公式:
混合色 <=128:結果色 = 基色 + (2 * 混合色 - 255) * (基色 - 基色 * 基色 / 255) / 255;
混合色 >128: 結果色 = 基色 + (2 * 混合色 - 255) * (Sqrt(基色/255)*255 - 基色)/255。
十五、 強光(HardLight)
C[i]={(A[i] < 128) ? (2 * A[i] * B[i] / 255) : (255 - 2 * (255 - A[i]) * (255 - B[i]) / 255)};
十六、 亮光(Vivid light)
C[i]={B[i] < 128 ?(B[i] == 0 ? 2 * B[i] : Max(0, (255 - ((255 - A[i]) << 8 ) / (2 * B[i])))) : ((2 * (B[i] - 128)) == 255 ? (2 * (B[i] - 128)) : Min(255, ((A[i] << 8 ) / (255 - (2 * (B[i] - 128)) ))))};
十七、 線性光(Liner Light)
C[i]=Min(255, Max(0, (B[i] + 2 * A[i]) - 1))
十八、 點光 (Pin Light)
C[i]=Max(0, Max(2 * B[i] - 255, Min(B[i], 2 * A[i])))
十九、 實色混合(Hard Mix)
C[i]={(B[i] < 128 ?(B[i] == 0 ? 2 * B[i] : Max(0, (255 - ((255 - A[i]) << 8 ) / (2 * B[i])))) : ((2 * (B[i] - 128)) == 255 ? (2 * (B[i] - 128)) : Min(255, ((A[i] << 8 ) / (255 - (2 * (B[i] - 128)) )))))< 128 ? 0 : 255};
《5》色異型
主要用於制作各種另類,發色效果
二十、 差值(Difference)
C[i]=Abs(A[i] - B[i])
二十一、 排除(Exclusion)
C[i]= A[i] + B[i] - 2 * A[i] * B[i] / 255
二十二、 減去(Subtract)
C[i]=A[i]-B[i]
二十三、 划分(Divide)
C[i]=(A[i]/B[i])*255
《6》蒙色型
主要依據上層圖像中的顏色信息,不同程度的映襯下面圖層上的圖像
二十四、 色相(Hue)
使用HSB數值進行計算,保留混合色的H,也就是色相值;S與B(飽和度與明度)使用基色數值。
二十五、 飽和度(Saturation)
與色相模式相似,不過保留的混合色的值是S。
二十六、 明度(Luminosity)
與色相模式相似,不過保留的混合色的值是B。
二十七、 顏色(Color)
與色相模式相似,不過保留的混合色的值是HS。