文章转自叠加模式 http://www.cgspread.com/3551.html

注释:
1.混合模式的数学计算公式,另外还介绍了不透明度。
2.这些公式仅适用于RGB图像,对于Lab颜色图像而言,这些公式将不再适用。
3.在公式中
A 代表下面图层的颜色值;
B 代表上面图层的颜色值;
C 代表混合图层的颜色值;
d 表示该层的透明度。

1.Opacity 不透明度

C=d×A+(1-d)×B

相对于不透明度而言,其反义就是透明度。
这两个术语之间的关系就类似于正负之间的关系:100%的不透明度就是0%的透明度。
该混合模式相对来说比较简单,在该混合模式下,
如果两个图层的叠放顺序不一样,其结果也是不一样的(当然50%透明除外)。
该公式也应用于层蒙板,在这种情况下,d代表了蒙板图层中给定位置图层的亮度(d=颜色值/255),
下同,不再叙述。

2.Darken 变暗

B<=A 则 C=B B>=A 则 C=A

该模式通过比较上下层像素后取相对较暗的像素作为输出,
注意,每个不同的颜色通道的像素都是独立的进行比较,色彩值相对较小的作为输出结果。
下层表示叠放次序位于下面的那个图层,
上层表示叠放次序位于上面的那个图层,下同,不再叙述。

3.Lighten 变亮

B<=A 则 C=A B>A 则 C=B

该模式和前面的模式是相似,不同的是取色彩值较大的(也就是较亮的)作为输出结果。

4.Multiply 正片叠底

C=(A×B)/255

该效果将两层像素的标准色彩值(基于0..1之间)相乘后输出
其效果可以形容成:两个幻灯片叠加在一起然后放映,
透射光需要分别通过这两个幻灯片,从而被削弱了两次。

5.Screen 滤色

C=255-(A反相×B反相)/255

该模式和上一个模式刚好相反,
上下层像素的标准色彩值反相后相乘后输出,
输出结果比两者的像素值都将要亮
(就好像两台投影机分别对其中一个图层进行投影后,然后投射到同一个屏幕上)。
从右边公式中我们可以看出,如果两个图层反相后,采用Multiply模式混合,
则将和对这两个图层采用 Screen模式混合后反相的结果完全一样。

6.Color Burn 颜色加深

C=A-(A反相×B反相)/B

该模式和上一个模式刚好相反。
如果上层越暗,则下层获取的光越少,
如果上层为全黑色,则下层越黑,
如果上层为全白色,则根本不会影响下层。
结果最亮的地方不会高于下层的像素值。

7.Color Dodge 颜色减淡

C=A+(A×B)/B反相

该模式下,上层的亮度决定了下层的暴露程度。
如果上层越亮,下层获取的光越多,也就是越亮。
如果上层是纯黑色,也就是没有亮度,则根本不会影响下层。
如果上层是纯白色,则下层除了像素为255的地方暴露外,
其他地方全部为白色(也就是255,不暴露)。
结果最黑的地方不会低于下层的像素值。

8.Linear Burn 线形加深

C=A+B-255

如果上下层的像素值之和小于255,输出结果将会是纯黑色。
如果将上层反相,结果将是纯粹的数学减。

9.Linear Dodge 线形减淡

C=A+B

将上下层的色彩值相加。结果将更亮。

10.Overlay叠加

A<=128 则 C=(A×B)/255 A>128 则 C=255-(A反相×B反相)/128

依据下层色彩值的不同,该模式可能是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)。
反之亦然。

11.Hard Light 强光

B<=128 则 C=(A×B)/128 B>128 则 C=255-(A反相×B反相)/128

该模式完全相对应于Overlay (叠加)模式下,两个图层进行次序交换的情况。
如过上层的颜色高于50%灰,则下层越亮,反之越暗

12.Soft Light柔光

B<=128 则 C=(A×B)/128+(A/255)^2×(255-2B) B>128 则 C=(A×B反相)/128+sqrt(A/255)×(2B-255)

该模式类似上层以Gamma值范围为2.0到0.5的方式来调制下层的色彩值。
结果将是一个非常柔和的组合。

13.Vivid Light 亮光

B<=128 则 C=A-A反相×(255-2B)/(2B) B>128 则 C=A+A×(2B-255)/(2×B反相)

该模式非常强烈的增加了对比度,特别是在高亮和阴暗处。
可以认为是阴暗处应用Color Burn和高亮处应用Color Dodge。

14.Linear Light 线形光

C=A+2×B-255

其类似于Linear Burn,只不过是加深了上层的影响力。

15.Pin Light 点光

B<=128 则 C=Min (A,2B) B>128 则 C=Min(A,2B-255)

该模式结果就是导致中间调几乎是不变的下层,
但是两边是Darken(变暗)和Lighten(变亮)模式的组合。

16.Hard Mix 实色混合

A+B>=255 则 C=255
A+B

该模式导致了最终结果仅包含6种基本颜色,每个通道要么就是0,要么就是255。

17.Difference 差值

C=|A-B|

上下层色调的绝对值。
该模式主要用于比较两个不同版本的图片。
如果两者完全一样,则结果为全黑。

18.Exclusion 排除

C=A+B-(A×B)/128

亮的图片区域将导致另一层的反相,很暗的区域则将导致另一层完全没有改变。

19.Hue 色相

HcScYc =HBSAYA

输出图像的色调为上层,饱和度和亮度保持为下层。
对于灰色上层,结果为去色的下层。

20.Saturation 饱和度

HcScYc =HASBYA

输出图像的饱和度为上层,色调和亮度保持为下层。

21.Color 颜色

HcScYc =HBSBYA

输出图像的亮度为下层,色调和饱和度保持为上层。

22.Luminosity 亮度

HcScYc =HASAYB

输出图像的亮度为上层,色调和饱和度保持为下层。

23.Dissolve 溶解

该模式根本不是真正的溶解,因此并不是适合Dissolve(溶解)这个称谓,其表现仅仅和Normal(正常)类似。
其从上层中随机抽取一些像素作为透明,使其可以看到下层,
随着上层透明度越低,可看到的下层区域越多。
如果上层完全不透明,则效果和Normal(正常)不会有任何不同。

颜色叠加模式:mix-blend-mode的更多相关文章

  1. ps叠加模式笔记

    1.叠加模式:Overlay混色模式会让图层白色的部分去加亮底色,图层深色的部分去加暗底色 2.常见按钮:1)主体渐变:2)投影:3)内阴影:颜色减淡,按钮颜色,距离1,大小3:4)外发光,正片叠底,

  2. Qt的四个常见的图像叠加模式

    Qt的QPainter::CompositionMode提供了多种图像叠加的模式.常见的有QPainter::CompositionMode_SourceOver, QPainter::Composi ...

  3. CSS3颜色渐变模式

       1.线性渐变:linear-gradient 语法:<linear-gradient> = linear-gradient([ [ <angle> | to <si ...

  4. 网络叠加模式VLAN、VxLAN、GRE

    什么是叠加网络 1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装. 2.叠加网络就是使用这种所谓"包内之包"的技术安全地将一个网络隐藏在另一个 网络中 ...

  5. openstack网络基础:网络叠加模式VLAN、VxLAN、GRE

    什么是叠加网络1.一个数据包(或帧)封装在另一个数据包内;被封装的包转发到隧道端点后再被拆装.2.叠加网络就是使用这种所谓“包内之包”的技术安全地将一个网络隐藏在另一个 网络中,然后将网络区段进行迁移 ...

  6. python xlwt写excel格式控制 颜色、模式、编码、背景色

    关于写excel的格式控制,比如颜色等等 import xlwt from datetime import datetime font0 = xlwt.Font() font0.name = 'Tim ...

  7. CSS3颜色渐变模式总结

    1.线性渐变:linear-gradient 语法:= linear-gradient([ [ | to [, ]+) = [left | right] || [top | bottom] = [ | ...

  8. JavaScript 计算两个颜色叠加值

    function multiply(rgb1, rgb2) { var result = [], i = 0; for( ; i < rgb1.length; i++ ) { result.pu ...

  9. Atitit blend mode COLOR_DODGE 混合模式  “颜色减淡”模式

    Atitit blend mode COLOR_DODGE 混合模式  "颜色减淡"模式 1.1. 混合模式是图像处理技术中的一个技术名词1 1.2. 目录1 1.3. 颜色减淡C ...

随机推荐

  1. RNAseq 流程

    https://github.com/twbattaglia/RNAseq-workflow

  2. less文件的运行

    例:在任意处创建一个.less文件,比如在桌面2017.06.28文件中创建了一个main.less文件,然后通过命令行编译main.less,步骤: win+R,cmd打开命令面板,切换到main. ...

  3. bzoj1009: [HNOI2008]GT考试 ac自动机+矩阵快速幂

    https://www.lydsy.com/JudgeOnline/problem.php?id=1009 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9 ...

  4. SPOJ-394-ACODE - Alphacode / dp

    ACODE - Alphacode #dynamic-programming Alice and Bob need to send secret messages to each other and ...

  5. yii2的定时任务

    php yii minsheng-cancel-account/cancel-applied-account

  6. simple HTTP server with upload

    #!/usr/bin/env python """Simple HTTP Server With Upload. https://github.com/tualatrix ...

  7. innerHTML的兼容性

    问题描述: 给定一个表格,thead的内容一致,tbody的内容动态改变(内容,合并单元格等不同) 错误方案: 给tbody定义一个id,然后document.getElementById('id') ...

  8. 【2018多校第一场】hdu6308-Time Zone(日期)

    Problem Description Chiaki often participates in international competitive programming contests. The ...

  9. linux FTP 操作

    1.登陆: ftp 172.xxx.xxx.xxx 按提示输入用户名和密码 2.上传: 单个文件:put /路径/文件名 批量: 输入 prom 此命令是关闭交互(否则总是询问你是否要上传) 输入下载 ...

  10. kmplayer加速播放视频(转)

    转自微博:http://blog.sina.com.cn/shaguazhu1213 KMPlayer控制播放速度的快捷方式 (2011-11-12 10:51:56) 标签: 杂谈 分类: 编程之旅 ...