网上已经有很多讲解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]/);

五、颜色加深(Color Burn)

C[i]={B[i]==  ? B[i] : Max(, Max(, ( - (( - A[i]) <<  ) / B[i])))};  

六、线性加深(Liner Burn)

C[i]={(A[i] + B[i] < ) ?  : (A[i] + B[i] - )};

七、 深色(Darken Color )

当前图层与下方图层相比,颜色深(RGB总和较小)的显现出来,颜色浅的就被隐藏。

3》提亮型

此类型的图层混合模式与降暗型混合模式刚好相反,它通过滤除图像中的暗调信息,达到图像变亮的目的

八、 变亮(lighten)

C[i]={(B[i] > A[i]) ? B[i] : A[i]};

九、 滤色(Screen)

C[i]={ - ((( - A[i]) * ( - B[i])) >> )};

十、颜色减淡(Color Dodge)

c={(B== ) ?B : Min(, ((A<<  ) / ( - B)))}

十一、 线性减淡(也称“添加” 英文名字Add)

C[i]=Min(, (A[i] + B[i]))

十二、   浅色 (lighten Color)

当前图层与下方图层相比,颜色浅(RGB总和较小)的显现出来,颜色深的就被隐藏。

4》融合型

主要用于不同程度的融合图像
十三、  
叠加(Overlay)

C[i]={(B[i] < ) ? ( * A[i] * B[i] / ) : ( -  * ( - A[i]) * ( - B[i]) / )};

十四、  柔光(Soft Light)

计算公式:
混合色 <=128:结果色 = 基色 + (2 * 混合色 - 255) * (基色 - 基色 * 基色 / 255) / 255;
混合色 >128: 结果色 = 基色 + (2 * 混合色 - 255) * (Sqrt(基色/255)*255 - 基色)/255。

十五、   强光(HardLight)

C[i]={(A[i] < ) ? ( * A[i] * B[i] / ) : ( -  * ( - A[i]) * ( - B[i]) / )};

十六、 亮光(Vivid light)

C[i]={B[i] <  ?(B[i] ==  ?  * B[i] : Max(, ( - (( - A[i]) <<  ) / ( * B[i])))) : (( * (B[i] - )) ==  ? ( * (B[i] - )) : Min(, ((A[i] <<  ) / ( - ( * (B[i] - )) ))))};

十七、 线性光(Liner Light)

C[i]=Min(, Max(, (B[i] +  * A[i]) - ))

十八、 点光 (Pin Light)

C[i]=Max(, Max( * B[i] - , Min(B[i],  * A[i])))

十九、  实色混合(Hard Mix)

C[i]={(B[i] <  ?(B[i] ==  ?  * B[i] : Max(, ( - (( - A[i]) <<  ) / ( * B[i])))) : (( * (B[i] - )) ==  ? ( * (B[i] - )) : Min(, ((A[i] <<  ) / ( - ( * (B[i] - )) )))))<  ?  : };

5》色异型

主要用于制作各种另类,发色效果

二十、   差值(Difference)

C[i]=Abs(A[i] - B[i])

二十一、 排除(Exclusion)

C[i]= A[i] + B[i] -  * A[i] * B[i] / 

二十二、 减去(Subtract)

C[i]=A[i]-B[i]

二十三、 划分(Divide)

C[i]=(A[i]/B[i])*

6》蒙色型

主要依据上层图像中的颜色信息,不同程度的映衬下面图层上的图像

二十四、 色相(Hue)

使用HSB数值进行计算,保留混合色的H,也就是色相值;S与B(饱和度与明度)使用基色数值。

二十五、 饱和度(Saturation)

与色相模式相似,不过保留的混合色的值是S。

二十六、  明度(Luminosity)

与色相模式相似,不过保留的混合色的值是B。

二十七、 颜色(Color)

与色相模式相似,不过保留的混合色的值是HS。

ps中图层混合模式算法公式的更多相关文章

  1. ps中图层混合模式、多图层叠加、不透明度、填充、图层样式详解

    图像领域中,通过进行一下想法的时候,都要通过用ps看下是不是合理,而ps中图层是必用的一个功能,下面详解一下图层有关的叠加原理. 基本顺序是图层从下往上继续, 先计算图层的填充,再计算样式.最后计算不 ...

  2. PS中图层混合模式的计算方法

    https://zhuanlan.zhihu.com/p/23905865 长久以来一直用中文版本的PS,对于软件中的一些专业名字都是顾名思义,容易误入歧途,但当你真正看到英文版本的名字的时候才有豁然 ...

  3. ps减去图层混合模式

    ps减去图层混合模式 CMYK 1.1.青色作为基色,品红作为混合色(减去混合模式) 红反即青色(绿色+蓝色) - 绿反即品红色(红色+蓝色)= 绿色   公式简化: 绿色 + 蓝色 - 红色 - 蓝 ...

  4. PS中混合模式是什么意思?

      PS中图层混合模式中的溶解,变暗,正片叠底,颜色加深,线性加深,叠加,柔光,亮光,强光,线性光,点光,实色混合,差值,排除,色相,饱和度,颜色,亮度各是什么原理?   Normal 正常模式,也是 ...

  5. 图像滤镜艺术---PS图层混合模式之明度模式

    本文将介绍PS图层混合模式中比較复杂 的"明度"模式的算法原理及代码实现内容. 说到PS的图层混合模式,计算公式都有,详细代码实现也能找到,可是,都没有完整介绍全部图层混合模式的代 ...

  6. 【PS算法理论探讨一】 Photoshop中两个32位图像混合的计算公式(含不透明度和图层混合模式)。

    大家可以在网上搜索相关的主题啊,你可以搜索到一堆,不过似乎没有那一个讲的很全面,我这里抽空整理和测试一下数据,分享给大家. 我们假定有2个32位的图层,图层BG和图层FG,其中图层BG是背景层(位于下 ...

  7. PS图层混合模式实例详解

          PS中的很多概念都和Core Graphics中的概念相通,比如蒙版.路径.裁剪.混合模式等等.如果你对Core Graphics中的混合模式不太理解,阅读本篇文章能让你对Core Gra ...

  8. 【PS算法理论探讨二】 Photoshop中图层样式之 投影样式 算法原理初探讨。

    接下来几篇文章我们将稍微简单的探索下PS中多种图层混合模式的算法内部原理,因为毕竟没有这方面的官方资料,所以很多方面也只是本人自己的探索和实践,有可能和实际的情况有着较大的差异. 在PS的实践中,图层 ...

  9. 【小技巧】在PS中测量图层间的边距

    今天学到了一个小技巧,前端切页面时会很方便,就是测量间距margin的. 在ps中,选中某个图层,然后按住ctrl键,再移动鼠标,就可以出现这个图层距其他元素的边距,这个太方便了.在此记录一下,免的以 ...

随机推荐

  1. 基于visual Studio2013解决C语言竞赛题之0908文件合并

       题目

  2. Android4.2以及最新SDK的尝鲜使用

    谷歌已经公布了Android4.2,而且也对应的更新了SDK到4.2.事实上最基本的是谷歌这次帮开发人员把eclipse.ADT.SDK整合 到了一起,我们仅仅须要下载一个ADT Boundle,就能 ...

  3. Route@简单应用

    路由的简单应用(生成URL) 这篇文章讲的核心问题是利用路由系统生成URL但是我们,但是我们不是仅仅生成URL,我们的超链接的href属性中,我们在跳转的时候,都需要URL,我们要将的就是在这些实际情 ...

  4. android listview滚动到顶部

    1.为了实现类似IOS点击状态栏,列表回滚到顶部的功能(要平滑滚动效果),android上点击一个按钮或是图片什么的也可以让listview一次性滚动到顶部(滑动太多页时,一次可能滚不到顶部,使用ha ...

  5. C# WinForm 和 javascript进行交互 使用HTML做界面

    01 using System; 02 using System.Collections.Generic; 03 using System.Text; 04 using System.Reflecti ...

  6. spring mvc 与 jquery ajax

    在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...

  7. iOS开发- 查询项目代码行数

    ...事实上, 这功能也没什么用. 就是查询一个项目总的代码行数. 玩玩倒是能够. 方法: 在终端以下依次输入: cd 项目文件 find . "(" -name "*. ...

  8. ASP.NET - 用户控件制作

    首先添加用户控件: 在里面写上代码: <%@ Control Language="C#" AutoEventWireup="true" CodeBehin ...

  9. Redis + Jedis + Spring整合遇到的异常(转)

    项目中需要用到缓存,经过比较后,选择了redis,客户端使用jedis连接,也使用到了spring提供的spring-data-redis.配置正确后启动tomcat,发现如下异常: Caused b ...

  10. 【LeetCode从零单排】No 3 Longest Substring Without Repeating Characters

    题目 Given a string, find the length of the longest substring without repeating characters. For exampl ...