网上已经有很多讲解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。