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