博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PS图层混合算法之一(不透明度,正片叠底,颜色加深,颜色减淡)
阅读量:5260 次
发布时间:2019-06-14

本文共 1123 字,大约阅读时间需要 3 分钟。

       下列公式中,A代表了上面图层像素的色彩值(A=像素值/255),B代表下面图层像素的色彩值(B=像素值/255),C代表了混合像素的色彩值(真实的结果像素值应该为255*C)。该公式也应用于层蒙板。

        

不透明度模式:

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

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

正片叠底模式:

将两个颜色的像素值相乘,然后除以255得到的结果就是最终色的像素值。通常执行正片叠底模式后的颜色比原来两种颜色都深。任何颜色和黑色正片叠底得到的任然是黑色,任何颜色和白色执行正片叠底则保持原来的颜色不变,而与其他颜色执行此模式会产生暗室中以此种颜色照明的效果。像素点的像素值是0-255,黑色值是0,白色是255.

Multiply 正片叠底

C=A*B

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

颜色加深模式:

查看每个通道的颜色信息,通过增加“对比度”使底色的颜色变暗来反映绘图色,和白色混合没变化。

Color Burn 颜色加深

C=1-(1-B)/A

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

颜色减淡模式:

查看每个通道的颜色信息,通过降低“对比度”使底色的颜色变亮来反映绘图色,和黑色混合没变化。

Color Dodge 颜色减淡

C=B/(1-A)

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

图 A:

图B

透明度模式:d=0.5

正片叠底模式

颜色加深模式

颜色减淡模式

转载于:https://www.cnblogs.com/muyuge/p/6152410.html

你可能感兴趣的文章
U盘安装Win7
查看>>
Android 中的监听器模式与观察者模式
查看>>
pageadmin CMS自助建站系统教程:模板中执行sql语句
查看>>
Spinner的级联效果实现
查看>>
115-PHP实例化和不实例化输出类常量
查看>>
P3810 陌上花开 CDQ分治
查看>>
【python】-- socketserver
查看>>
JDBC事务和JTA事务的区别
查看>>
创建web项目后生成的配置文件解析
查看>>
pcl之kdtree的使用
查看>>
android 两种定时器的实现
查看>>
第三次作业
查看>>
java设计模式之代理模式
查看>>
rocketMq指定broker ip地址,适合解决云主机部署问题
查看>>
基于NodeJS的全栈式开发
查看>>
windows程序设计(三)
查看>>
CCF认证真题-(201403-2)-窗口(模拟)
查看>>
片上系统(SOC)设计流程及其集成开发环境[zz]
查看>>
python os,sys模块的使用
查看>>
(转)Redis与Memcached的区别
查看>>