Shader -> Photoshop图层混合模式计算公式大全
Photoshop图层混合模式计算公式大全
混合模式可以将两个图层的色彩值紧密结合在一起,从而创造出大量的效果,在这些效果的背后实际是一些简单的数学公式在起作用。
下面是photoshop cs2中所有混合模式的数学计算公式,另外还介绍了不透明度,这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用。
Opacity 不透明度
C=d*A+(1-d)*B
相对于不透明度而言,其反义就是透明度。这两个术语之间的关系就类似于正负之间的关系:100%的不透明度就是0%的透明度。该混合模式相对来说比较简单,在该混合模式下,如果两个图层的叠放顺序不一样,其结果也是不一样的(当然50%透明除外)。该公式中,A代表了上面图层像素的色彩值(A=像素值 /255),d表示该层的透明度,B代表下面图层像素的色彩值(B=像素值/255),C代表了混合像素的色彩值(真实的结果像素值应该为255*C)。该公式也应用于层蒙板,在这种情况下,d代表了蒙板图层中给定位置像素的亮度,下同,不再叙述。
Darken 变暗
B<=A: C=B
B>=A: C=A
该模式通过比较上下层像素后取相对较暗的像素作为输出,注意,每个不同的颜色通道的像素都是独立的进行比较,色彩值相对较小的作为输出结果,下层表示叠放次序位于下面的那个图层,上层表示叠放次序位于上面的那个图层,下同,不再叙述。
Lighten 变亮
B<=A: C=A
B>A: C=B
该模式和前面的模式是相似,不同的是取色彩值较大的(也就是较亮的)作为输出结果。
Multiply 正片叠底
C=A*B
该效果将两层像素的标准色彩值(基于0..1之间)相乘后输出,其效果可以形容成:两个幻灯片叠加在一起然后放映,透射光需要分别通过这两个幻灯片,从而被削弱了两次。
Screen 滤色
C=1-(1-A)*(1-B)也可以写成 1-C=(1-A)*(1-B)
该模式和上一个模式刚好相反,上下层像素的标准色彩值反相后相乘后输出,输出结果比两者的像素值都将要亮(就好像两台投影机分别对其中一个图层进行投影后,然后投射到同一个屏幕上)。从第二个公式中我们可以看出,如果两个图层反相后,采用Multiply模式混合,则将和对这两个图层采用 Screen模式混合后反相的结果完全一样。
Color Dodge 颜色减淡
C=B/(1-A)
该模式下,上层的亮度决定了下层的暴露程度。如果上层越亮,下层获取的光越多,也就是越亮。如果上层是纯黑色,也就是没有亮度,则根本不会影响下层。如果上层是纯白色,则下层除了像素为255的地方暴露外,其他地方全部为白色(也就是255,不暴露)。结果最黑的地方不会低于下层的像素值。
Color Burn 颜色加深
C=1-(1-B)/A
该模式和上一个模式刚好相反。如果上层越暗,则下层获取的光越少,如果上层为全黑色,则下层越黑,如果上层为全白色,则根本不会影响下层。结果最亮的地方不会高于下层的像素值。
Linear Dodge 线形减淡
C=A+B
将上下层的色彩值相加。结果将更亮。
Linear Burn 线形加深
C=A+B-1
如果上下层的像素值之和小于255,输出结果将会是纯黑色。如果将上层反相,结果将是纯粹的数学减。
Overlay 叠加
B<=0.5: C=2*A*B
B>0.5: C=1-2*(1-A)*(1-B)
依据下层色彩值的不同,该模式可能是Multiply,也可能是Screen模式。上层决定了下层中间色调偏移的强度。如果上层为50%灰,则结果将完全为下层像素的值。如果上层比50%灰暗,则下层的中间色调的将向暗地方偏移,如果上层比50%灰亮,则下层的中间色调的将向亮地方偏移。对于上层比50% 灰暗,下层中间色调以下的色带变窄(原来为0~2*0.4*0.5,现在为0~2*0.3*0.5),中间色调以上的色带变宽(原来为 2*0.4*0.5~1,现在为2*0.3*0.5~1)。反之亦然。
Hard Light 强光
A<=0.5: C=2*A*B
A>0.5: C=1-2*(1-A)*(1-B)
该模式完全相对应于Overlay模式下,两个图层进行次序交换的情况。如过上层的颜色高于50%灰,则下层越亮,反之越暗。
Soft Light 柔光
A<=0.5: C=(2*A-1)*(B-B*B)+B
A>0.5: C=(2*A-1)*(sqrt(B)-B)+B
该模式类似上层以Gamma值范围为2.0到0.5的方式来调制下层的色彩值。结果将是一个非常柔和的组合。
Vivid Light 亮光
A<=0.5: C=1-(1-B)/2*A
A>0.5: C=B/(2*(1-A))
该模式非常强烈的增加了对比度,特别是在高亮和阴暗处。可以认为是阴暗处应用Color Burn和高亮处应用Color Dodge。
Linear Light 线形光
C=B+2*A-1
相对于前一种模式而言,该模式增加的对比度要弱些。其类似于Linear Burn,只不过是加深了上层的影响力。
Pin Light 点光
B<2*A-1: C=2*A-12*A-1<B<2*A: C=B
B>2*A: C=2*A
该模式结果就是导致中间调几乎是不变的下层,但是两边是Darken和Lighte年模式的组合。
Hard Mix 实色混合
A<1-B: C=0
A>1-B: C=1
该模式导致了最终结果仅包含6种基本颜色,每个通道要么就是0,要么就是255。
Difference 差值
C=|A-B|
上下层色调的绝对值。该模式主要用于比较两个不同版本的图片。如果两者完全一样,则结果为全黑。
Exclusion 排除
C=A+B-2*A*B
亮的图片区域将导致另一层的反相,很暗的区域则将导致另一层完全没有改变。
Hue 色相
HcScYc =HASBYB
输出图像的色调为上层,饱和度和亮度保持为下层。对于灰色上层,结果为去色的下层。
Saturation 饱和度
HcScYc =HBSAYB
输出图像的饱和度为上层,色调和亮度保持为下层。
Color 颜色
HcScYc =HASAYB
输出图像的亮度为下层,色调和饱和度保持为上层。
Luminosity 亮度
HcScYc =HBSBYA
输出图像的亮度为上层,色调和饱和度保持为下层。
Dissolve 溶解
该模式根本不是真正的溶解,因此并不是适合Dissolve这个称谓,其表现仅仅和Normal类似。其从上层中随机抽取一些像素作为透明,使其可以看到下层,随着上层透明度越低,可看到的下层区域越多。如果上层完全不透明,则效果和Normal不会有任何不同。
Shader -> Photoshop图层混合模式计算公式大全的更多相关文章
- Photoshop图层混合模式计算公式大全(转)
混合模式可以将两个图层的色彩值紧密结合在一起,从而创造出大量的效果.在这些效果的背后实际是一些简单的数学公式在起作用.下面我将介绍photoshop cs2中所有混合模式的数学计算公式.另外还介绍了不 ...
- Photoshop图层混合模式计算公式大全
下面是photoshop cs2中所有混合模式的数学计算公式,另外还介绍了不透明度,这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用. 1.Opacity 不透明度 C=d*A+ ...
- 【PS算法理论探讨一】 Photoshop中两个32位图像混合的计算公式(含不透明度和图层混合模式)。
大家可以在网上搜索相关的主题啊,你可以搜索到一堆,不过似乎没有那一个讲的很全面,我这里抽空整理和测试一下数据,分享给大家. 我们假定有2个32位的图层,图层BG和图层FG,其中图层BG是背景层(位于下 ...
- PS图层混合模式实例详解
PS中的很多概念都和Core Graphics中的概念相通,比如蒙版.路径.裁剪.混合模式等等.如果你对Core Graphics中的混合模式不太理解,阅读本篇文章能让你对Core Gra ...
- ps中图层混合模式算法公式
网上已经有很多讲解ps的图层混合模式,有些不详细甚至是错误的,参考网上给出的公式及其自己在验证推倒的,给出27种的混合模式算法公式.也许存在一定的错误性,毕竟没有官方给出公式,只能说以供参考吧. 只考 ...
- 转: Photoshop cs6 快捷键命令大全
转自: http://www.cnblogs.com/zhen656/p/4249759.html 工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具.单行单列 ...
- Photoshop cs6 快捷键命令大全
工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具.单行单列选取工具 [M] 裁剪工具.透视.切片.透视裁剪工具 [C] 移动工具 [V] 套索.多边形套索.磁 ...
- 图像滤镜艺术---PS图层混合模式之明度模式
本文将介绍PS图层混合模式中比較复杂 的"明度"模式的算法原理及代码实现内容. 说到PS的图层混合模式,计算公式都有,详细代码实现也能找到,可是,都没有完整介绍全部图层混合模式的代 ...
- ps减去图层混合模式
ps减去图层混合模式 CMYK 1.1.青色作为基色,品红作为混合色(减去混合模式) 红反即青色(绿色+蓝色) - 绿反即品红色(红色+蓝色)= 绿色 公式简化: 绿色 + 蓝色 - 红色 - 蓝 ...
随机推荐
- influxdb 命令
写入数据: curl -X POST -d '[{"name":"foo","columns":["val"],&quo ...
- Struts2文件的上传和下载实现
<一>简述: Struts2的文件上传其实也是通过拦截器来实现的,只是该拦截器定义为默认拦截器了,所以不用自己去手工配置,<interceptor name="fileUp ...
- py下载网络图片
很简单,做下记录 import urllib import os url = "图片路径" dir = "d:\\pyimgtest\\G0000001\\" ...
- spring学习12 -Spring 框架模块以及面试常见问题注解等
以下为spring常见面试问题: 1.Spring 框架中都用到了哪些设计模式? Spring框架中使用到了大量的设计模式,下面列举了比较有代表性的: 代理模式—在AOP和remoting中被用的比较 ...
- 【前端学习笔记】利用iframe实现表单的无刷新提交案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【前端】JS截取字符串常用方法详细整理
函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); //arr ...
- poj2914-Minimum Cut
题意 \(n\) 个点 \(m\) 条边的无向带权图求全局最小割.\(n\le 500,m\le \frac{n(n-1)}{2}\) . 分析 参考了 这篇博客,去给他点赞. 嘛,今天研究了一下全局 ...
- 洛谷P3656 展翅翱翔之时 (はばたきのとき)(洛谷2017.3月赛round1 t4)
题目背景 船が往くよミライへ旅立とう 船只启航 朝未来展开旅途 青い空笑ってる(なにがしたい?) 湛蓝天空露出微笑(想做些什么?) ヒカリになろうミライを照らしたい 化作光芒吧 想就此照亮未来 輝きは ...
- shell脚本学习—正则表达式
正则表达式概念.特点 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”, 这个“规则字符串”用来表达对字符串的一种过滤辑. 给定一个 ...
- C++解析(1):C到C++的升级
0.目录 1.C与C++的关系 2.C到C++的升级 2.1 语言的实用性 2.2 register关键字 2.3 同名的全局变量 2.4 struct关键字 2.5 int f() 与 int f( ...