热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

PS图层混合算法之四(亮光,点光,线性光,实色混合)

亮光模式:根据绘图色通过增加或降低“对比度”,加深或减淡颜色。如果绘图色比50%的灰亮,图像通过降低对比度被照亮,如果绘图色

亮光模式:

根据绘图色通过增加或降低“对比度”,加深或减淡颜色。如果绘图色比50%的灰亮,图像通过降低对比度被照亮,如果绘图色比50%的灰暗,图像通过增加对比度变暗。  

线性光模式:根据绘图色通过增加或降低“亮度”,加深或减淡颜色。如果绘图色比50%的灰亮,图像通过增加亮度被照亮,如果绘图色比50%的灰暗,图像通过降低亮度变暗。  

Vivid Light 亮光

A<&#61;0.5:   C&#61;1-(1-B)/(2*A)
A>0.5:     C&#61;B/(2*(1-A))

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


点光模式&#xff1a;

根据绘图色替换颜色。如果绘图色比50%的灰要亮&#xff0c;绘图色被替换&#xff0c;比绘图色亮的像素不变化。如果绘图色比50%的灰要暗比绘图色亮的像素被替换&#xff0c;比绘图色暗的像素不变化&#xff0c;点光模式对图像增加特殊效果非常有用。

Pin Light 点光

A>0.5      C&#61;max (2*(A-0.5), B);

A<&#61;0.5    C&#61;min(2*A,B);

该模式结果就是导致中间调几乎是不变的下层&#xff0c;但是两边是Darken和Lighten模式的组合。


线性光模式&#xff1a;

C&#61;B&#43;2*A-1

相对于前一种模式而言&#xff0c;该模式增加的对比度要弱些。其类似于Linear Burn,只不过是加深了上层的影响力。


实色混合模式&#xff1a;

根据绘图颜色与底图颜色的颜色数值相加&#xff0c;当相加的颜色数值大于该颜色模式颜色数值的最大值&#xff0c;混合颜色为最大值&#xff1b;当相加的颜色数值小于该颜色模式颜色数值的最大值&#xff0c;混合颜色为0&#xff1b;当相加的颜色数值等于该颜色模式颜色数值的最大值&#xff0c;混合颜色由底图颜色决定&#xff0c;底图颜色值比绘图颜色的颜色值大&#xff0c;则混合颜色为最大值&#xff0c;相反则为0.实色混合能产生颜色较少、边缘较硬的图像效果。

Hard Mix 实色混合

A<1-B: C&#61;0
A>1-B: C&#61;1

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


图 A&#xff1a;



图 B&#xff1a;



亮光模式


点光模式&#xff1a;



线性光模式&#xff1a;



实色混合模式&#xff1a;




转:https://www.cnblogs.com/muyuge/p/6152407.html



推荐阅读
  • 本文详细介绍了C#中的基本选择结构(如if、if-else、if-else-if及嵌套if)、switch结构、数组与循环控制结构(包括while、do-while、for和foreach循环)以及跳转语句(break和continue)。此外,还简要探讨了二重循环的应用和冒泡排序算法。 ... [详细]
  • 利用 Jest 和 Supertest 实现接口测试的全面指南
    本文深入探讨了如何使用 Jest 和 Supertest 进行接口测试,通过实际案例详细解析了测试环境的搭建、测试用例的编写以及异步测试的处理方法。 ... [详细]
  • 深入探讨ASP.NET中的OAuth、JWT与OpenID Connect
    本文作为前文关于OAuth2.0和使用.NET实现OAuth身份验证的补充,详细阐述了OAuth与JWT及OpenID Connect之间的关系和差异,旨在提供更全面的理解。 ... [详细]
  • Node.js 中 GET 和 POST 请求的数据处理
    本文详细介绍了如何在 Node.js 中使用 GET 和 POST 方法来处理客户端发送的数据。通过示例代码展示了如何解析 URL 参数和表单数据,并提供了完整的实现步骤。 ... [详细]
  • 通过特定网站,用户可以直接在网页上运行Matlab代码,无需下载或安装任何软件。访问以下链接了解更多:https://www.mathworks.cn/products/matlab-online.html ... [详细]
  • jQuery中 $(selector).each() 和 $.each() 的区别与应用
    在JavaScript开发中,jQuery库提供了两种遍历方法:$(selector).each() 和 $.each()。本文将详细探讨这两种方法的不同之处及其应用场景。 ... [详细]
  • 本文详细记录了利用HTML5和CSS3进行企业网站开发的过程,包括技术要点、实践技巧以及常见问题解决方法。 ... [详细]
  • 微信PC版1.2更新:支持自定义公众号菜单与多项新功能
    微信桌面应用程序最新版本1.2 for Windows现已发布,新增了保存聊天记录、使用公众号自定义菜单、同步手机表情等多项实用功能。 ... [详细]
  • 本文详细介绍了ASP.NET缓存的基本概念和使用方法,包括输出缓存、数据缓存及其高级特性,如缓存依赖、自定义缓存和缓存配置文件等。通过合理利用这些缓存技术,可以显著提升Web应用程序的性能。 ... [详细]
  • 深入解析 Android 文件下载的三种主流方法
    本文详细探讨了在 Android 平台上实现文件下载功能的三种常见方法:URLConnection、DownloadManager 和 OkHttp。每种方法都有其特点和适用场景,通过本文的分析,开发者可以根据实际需求选择最合适的技术方案。 ... [详细]
  • AJAX技术允许网页在不重新加载整个页面的情况下进行异步更新,通过向服务器发送请求并接收JSON格式的数据,实现局部内容的动态刷新。 ... [详细]
  • 本文介绍了数论中常用的两种筛选素数的方法——埃氏筛和欧拉筛。埃氏筛通过标记非素数来实现,其时间复杂度为O(n log log n),而欧拉筛则确保每个合数仅被其最小的质因数筛除一次,从而达到线性时间复杂度O(n)。 ... [详细]
  • 解决Beyond Compare许可证过期问题的方法
    本文提供了针对Mac和Windows系统中Beyond Compare软件许可证过期问题的解决方案,包括具体的操作步骤和注意事项。 ... [详细]
  • 本文介绍了如何利用Selenium和Python通过执行JavaScript代码来控制网页中的滚动条,包括垂直和水平滚动条的控制,以及特定元素的聚焦技术。 ... [详细]
  • Go 通过 Map/Filter/ForEach 等流式 API 高效处理数据
    go,通过,map,filter,foreach,等,流,式,ap ... [详细]
author-avatar
一枝草一滴露的执着
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有