看了一篇在新的图层中加镜头光晕的博文:[url]http://www.photoshopessentials.com/photo-effects/lens-flare/[/url]
,其中光晕图层的混合模式使用的是滤色(screen)。
那么,什么事滤色呢?有这么一种说法,滤色的作用类似于投影。将两台投影仪投影到同一块银幕上,我们看到的是两束光的叠加。
该光束比其中任何一束光都要亮!!
先来看一下滤色的公式:

resultColor=1-(1-baseColor)(1-blendColor)

看到此处,我是有些疑惑的,如果是两束光的叠加,那么不应该是相加么?

resultColor=baseColor+blendColor

为了解决这个疑惑,我们换个角度来看 滤色的公式:

resultColor=1-(1-baseColor)(1-blendColor) ......(1)=baseColor+blendColor*(1-baseColor)  ......(2)=blendColor+baseColor*(1-blendColor) ......(3)

由以上公式我们可以了解到
[list]
[*]base color 和 blend color 是对称的
[*]由(2)可以看出result color 可以分为两部分:一部分是base color;另一部分则是用blend color来调制 1-baseColor (这样既保证了两台投影仪叠加的光亮于其中任意一台的光,也保证了result color不会大于1!)如果允许溢出,,在RGB三通道的时候,只有其中一个通道溢出的话,颜色失真会比较严重
[*]result color 的取值范围为 [baseColor 1], ,也就是不会溢出!这一点儿,直接相加就不行了!
[*]blend color为0(黑色)时,result color = base color
[*]blend color为1(白色)时,result color = 1
[/list]

对滤色有了以上的了解,我们来重新回顾一下[color=blue]添加镜头光晕[/color]的过程:
[list]
[*]1、新建一个黑色的图层:新建图层,编辑->填充(黑色)
[*]2、添加光晕: 滤镜->渲染->镜头光晕
[*]3、调整该光晕图层的 混合模式为 滤色
[/list]
因为图层最初为黑色的,,光晕先以 滤色(估计PS内时这么实现的)和黑色的图层 以 滤色模式混合,得到光晕图层。(根据公式(2),和黑色以滤色混合,得到的颜色为原来的颜色)
该镜头光晕图层在和背景图层以 滤色 混合,,和直接用 光晕的图和背景图层混合,效果完全一样!!
这样还有一个附加的好处->可以调整镜头光晕的透明度!!

最后,来看一下 blend color 和 base color 相同时,滤色模式的响应曲线,
结果相当于调整曲线,使得结果色亮于原来的颜色(中间色调被提亮最多!)
[img]http://dl2.iteye.com/upload/attachment/0095/8182/5be48890-8b92-3dee-9445-32178b58981b.png[/img]

代码如下:

%% 基色和混合色相同时 滤色模式(screen) 响应曲线modeFunc=@(baseColor,blendColor) 1-(1-baseColor).*(1-blendColor);modeName='滤色模式(screen)';

x=linspace(0,1,256);y=modeFunc(x,x);

figure1 = figure;axes1 = axes('Parent',figure1,'YTick',0:.1:1,'XTick',0:.1:1,...    'PlotBoxAspectRatio',[1 1 1],...    'DataAspectRatio',[1 1 1]);% xlim(axes1,[0 1]);% ylim(axes1,[0 1]);grid onbox(axes1,'on');hold(axes1,'all');

plot(x,y,'Parent',axes1,'LineWidth',3,'Color',[1 0 0], 'DisplayName',modeName);plot(x,x,'Parent',axes1,'LineWidth',2,'LineStyle','--', 'DisplayName','正常模式');

xlabel('基色及混合色灰度值','FontSize',16);ylabel('结果色','FontSize',16);title(['基色和混合色相同时 ' modeName ' 响应曲线'],'FontSize',16);legend1 = legend(axes1,'show');set(legend1,'Location','SouthEast');clear all

PhotoShop - 滤色模式(screen) 的 响应曲线(关于加镜头光晕的思考)相关推荐

  1. 基于photoshop滤色混合模式的图片亮度改变

    暗图片亮度增强 根据photoshop的滤色混合方法,完成一种暗图片的亮度增强手段. 滤色混合和正片叠底的公式 形象理解正片叠底和滤色 代码参考-c 先贴一张效果图 简单来说,正片叠底会使暗图片更暗, ...

  2. 正片叠底(Multiply)和滤色(Screen)是两种基本的混合模式

    正片叠底(Multiply)和滤色(Screen)是两种基本的混合模式,分别用于使图片变暗和变亮.它们之间的组合还可以形成更复杂的混合模式,如叠加(Overlay)和柔光(Soft Light). 正 ...

  3. ps—Photoshop绘图模式、画笔工具,渐变工具,油漆桶工具等选项栏中的模式/溶解模式,背后模式,清除模式,变暗模式等/CS6

    学习PS时,我们发现在图层面板,油漆桶工具,渐变工具,画笔类工具等选项栏中,都会有一个模式选项,这就是绘图模式 绘图模式其实是Photoshop中的一个颜色融合器,它通过色彩的混合获得一 种特殊的效果 ...

  4. 【OS学习笔记】二十二 保护模式六:保户模式下操作系统内核如何加载用户程序并运行 对应的汇编代码之用户程序

    本汇编代码对应文章:保户模式下操作系统内核如何加载用户程序并运行中的实际用户程序代码. 对应的主引导扇区代码:主引导扇区代码 对应的内核代码:内核代码 ;代码清单13-3;文件名:c13.asm;文件 ...

  5. 【OS学习笔记】二十一 保护模式六:保户模式下操作系统内核如何加载用户程序并运行 对应的汇编代码之内核代码

    本汇编代码对应文章保户模式下操作系统内核如何加载用户程序并运行 中的实际内核代码 对应的主引导扇区代码:主引导扇区代码 对应的用户程序代码:用户程序代码 ;代码清单13-2;文件名:c13_core. ...

  6. 【OS学习笔记】二十 保护模式六:保户模式下操作系统内核如何加载用户程序并运行 对应的汇编代码之主引导扇区程序

    本汇编代码对应保户模式下操作系统内核如何加载用户程序并运行 的实际主引导扇区代码: 对应的内核代码在:内核代码 对应的用户程序代码在:用户程序代码 ;代码清单13-1;文件名:c13_mbr.asm; ...

  7. dvm,art模式下的dex文件加载流程

    dvm,art模式下的dex文件加载流程 dex加载是学习android的重中之重,刚看完几篇参考博客,对应android源码,收益匪浅,用一篇博客总结一下自己学到的东西. 1.dvm模式下的dex加 ...

  8. 关于图片预加载的思考

    引子: 很多时候,我们在写html页面的时候,当需要在页面中加入图片时,我们很自然地把图片直接用<img>标签放在了<body>里面,这本来是没有多大问题的. 但是当图片数量很 ...

  9. 【OS学习笔记】十九 保护模式六:保户模式下操作系统内核如何加载用户程序并运行

    上一篇文章学习了保户模式下如何进行内存保护 与 别名段的意义与作用:点击链接查看上一篇文章:点击链接 本文接着学习,在保护模式下,内核是如何加载用户程序并运行的.其实这与在实模式下很像,只不过现在保护 ...

最新文章

  1. 自定义Push和Pop过渡动画
  2. python在中国的发展-Python未来的发展前景到底如何?
  3. [转]Javascript 闭包
  4. hdu acm1286
  5. 解决Linux系统在设置alias命令重启后失效的问题
  6. java冒泡排序菜鸟教程_排序算法总结 | 菜鸟教程
  7. 二项分布(一种离散分布)
  8. 优酷动漫押注“新国风”,能否追回被B站、腾讯赶超的那些年?
  9. 2018中国民营企业500强榜单
  10. win10 不能使用 ps3相机
  11. 老男孩教育46期-丁温郝
  12. Finger-一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具
  13. 统计学假设检验中 p 值的含义具体是什么?
  14. 基于MATLAB的图片中字符的分割与识别
  15. 【你知道maven么?】
  16. PCB设计中如何区分 滤波电容、去耦电容、旁路电容
  17. android项目源码解析04:新浪微博客户端源码解析
  18. 金蝶 EAS BOS 手工new 上下文
  19. C语言实战105例源码
  20. snprintf 函数用法

热门文章

  1. 电网数字化转型经验分享
  2. sencha touch ajax params,sencha touch《实现ajax跨域请求》
  3. Gartner Hype Cycle (技术成熟度曲线)
  4. 编程初学者入门训练-KiKi和酸奶
  5. 电脑回收站在哪里?回收站删除的文件怎么恢复?
  6. 同一个图表创建双坐标轴,显示多个图例
  7. Therefore, hence, so, then, thus
  8. 解决:ERROR: Cannot uninstall ‘certifi‘. It is a distutils installed project and thus we cannot accurat
  9. rtl高效定位问题的方法——verilog加打印
  10. chmod u+s权限理解