一、前言

混合模式的本质是色光的混合类型。本文将会提到3个概念:基色(J)、混合色(H)、结果色。

基色:下方被混合的颜色

混合色:产生混合模式的上层颜色

结果色:基色 + 混合色

二、变暗型

1.变暗

基色与混合色的R、G、B通道分别作比较,取较小值合成结果色。

举个例子:

结果色=20, 50, 60

混合色 30, 50, 70

基    色 20, 60, 60

2.正片叠底

计算方式:H*J/255

举个例子:

结果色=83, 2, 0

混合色 255, 4, 0

基  色 83, 112, 12

解析:常用来去除白色。

当白色与任何色混合,白色消失;

当黑色与任何色混合,只留黑色。

3.颜色加深

计算方式:(H+J-255)*255/H

解析:混合后,暗部会更暗,亮部稍微变暗,对比加强。

如果两个通道的发光强度之和低于255,那么此通道结果色直接归零;

如果两个通道有一个通道为0,那么此通道结果色直接归零。

4.线性加深

计算方式:H+J-255

解析:简单粗暴,结果色变得特别暗。

如果两个通道的发光强度之和低于255,那么此通道结果色直接归零;

如果两个通道有一个通道为0,那么此通道结果色直接归零。

5.深色

计算方式:如果H的R+G+B > J的R+G+B,结果色=J;

如果H的R+G+B < J的R+G+B,结果色=H

解析:与上面几种混合方式不同,深色模式不会产生新的颜色。混合结果都是原图中的颜色。

三、变亮型

1.变亮

基色与混合色的R、G、B通道分别作比较,取较大值合成结果色。

2.滤色

计算方式:255-(255-H)*(255-J)/255

解析:常用来去除黑色。

当白色与任何色混合,结果为白色;

当黑色与任何色混合,黑色消失。

3.颜色减淡

计算方式:J+(H*J)/(255-H)

解析:混合后,亮部更亮,对比加强。

4.线性减淡

计算方式:H+J

解析:简单粗暴,最大范围地变亮。

如果H+J大于255,结果仍为255。

5.浅色

计算方式:如果H的R+G+B > J的R+G+B,结果色=H;

如果H的R+G+B < J的R+G+B,结果色=J

解析:不会产生新的颜色,混合结果都是原图中的颜色。

四、溶合型

1.叠加

计算方式:如果基色>128,那么采用滤色算法(半值),结果色=255-(255-H)*(255-J)/128;

如果基色<128,那么采用正片叠底算法(半值),结果色=H*J/128;

如果基色=128,那么结果色=混合色;

如果混合色=128,那么结果色=基色。

解析:在亮的区域变亮,在暗的区域变暗。

2.柔光

计算方式:如果混合色>128,那么结果色=J+(2*H-255)*(J-J/255)/255;

如果混合色<128,那么结果色=J+(2*H-255)*{Sqrt(J/255)*255-J}/255;

如果混合色=128,那么结果色=基色。

解析:混合方式与叠加类似,不过更加柔和。

常用作人物精修,例如:添加中性色图层,改成柔光模式;然后白色画笔提亮,黑色画笔压暗。

3.强光

计算方式:如果混合色>128,采用滤色算法(半值),结果色=255-(255-H)*(255-J)/128;

如果混合色<128,采用正片叠底算法(半值),结果色=H*J/128;

如果混合色为白色,结果色=白色;

如果混合色为黑色,结果色=黑色。

解析:算法与叠加一样,但主导色为混合色。

4.亮光

计算方式:如果混合色>128,类似“颜色减淡”,结果色=J/[2*(255-H)]*255;

如果混合色<128,类似“颜色加深”,结果色=255-(255-J)*(2*H)*255;

解析:与柔光类似,但比柔光更强烈。

5.线性光

计算方式:2*H-255+J

H=128,结果色为基色;

H>128,变亮,超过255都视为255;

H<128,变暗,低于0都视为0.

解析:与上述4个相比,线性光的对比最强烈

6.点光

计算方式:如果混合色>128,则替换比它暗的基色;

如果混合色<128,则替换比它亮的基色;

如果混合色=128,即中性色,无替换;

混合色=255或0,则替换所有基色。

解析:常用来替换图片亮部或暗部的内容。

7.实色混合

计算方式:混合色的RGB值添加到基色RGB值。

如果计算总和>=255,则结果为255;

如果计算总和<255,则结果为0.

解析:此模式结果色只会有8种基本色,即R、G、B、C、M、Y、黑、白。

五、色差型

1.差值

计算方式:|J-H|

查看每个通道中的颜色信息,然后基色与混合色相减,结果取其绝对值。

解析:类似“反相”效果。

blend-difference

2.排除

计算方式:(H+J)-H*J/128

解析:类似 “差值”模式,但对比度更低。

blend-exclusion

3.减去

计算方式:J-H

查看每个通道中的颜色信息,并从基色中减去混合色,负值为零。

解析:混合色越亮,结果色越暗;

混合色越暗,结果色变暗程度越低。

该混合模式的中性色是黑色。

blend-subtract

4.划分

计算方式:(J/H)*255

解析:基色大于等于混合色,结果色为白;

基色小于混合色,结果色加深基色;

混合色为白色,结果色为基色;

混合色为黑色,结果色为白色;

该混合模式的中性色是白色。

blend-divide

六、调色型

1.色相

用混合色的色相,替换基色的色相。

2.饱和度

用混合色的饱和度,替换基色的饱和度。

3.颜色

用混合色的色相与饱和度,替换基色的色相与饱和度。

4.明度

用混合色的明度,替换基色的明度。