一、滤色screen混合模式速览

screen混合模式,国内称为“滤色”,其计算公式是:

公式中的C表示最终混合的RGB色值(范围是0-255),A和B表示用来混合的两个颜色的RGB色值(范围也是0-255)。

从公式的内容可以看出,滤色混合模式的颜色,是将两个颜色的互补色的像素值相乘,然后除以255的互补色值。

例如有一个红色,其RGB值是(255,0,0),还有一个蓝色,其RGB值是(0,0,255),则这两个颜色使用滤色混合模式之后的颜色色值是:

  • R = 255 – (255 – 255) * (255 – 0) / 255 = 255
  • G = 255 – (255 – 0) * (255 – 0) / 255 = 0
  • B = 255 – (255 – 0) * (255 – 255) / 255 = 255

于是最终的色值是 RGB(255,0,255) ,也就是下面这个色块的颜色:

然后下面这个是应用mix-blend-mode:screen代码的实时混合色值效果:

可以看到,两个色块呈现的颜色是一模一样的,既验证了公式的正确性,也对滤色模式有了第一次的认识。web前端开发学习Q-q-u-n: 767273102 ,分享开发工具,零基础,进阶视频教程,希望新手少走弯路

二、滤色模式的特性与web应用

以下是一些直观的特性:

  1. 任何颜色和黑色执行滤色,还是呈现原来的颜色;
  2. 任何颜色和白色执行滤色得到的是白色;
  3. 任何颜色和其他颜色执行滤色模式混合后的颜色会更浅,有点类似漂白的效果。

滤色模式模式对于在图像中创建霓虹辉光效果是非常有用的,这一特性对于Web开发也同样受用。

我们经常需要对一些图像素材添加一些场景特效,比如说各种天气,或者霓虹辉光效果等。

传统做法是使用一张透明的PNG图像覆盖在上面,但是使用PNG透明前景图有下面2个缺点:

  1. 效果不自然,缺少那种跟底图完全融为一体的感觉;
  2. 图片的尺寸实在是太大了,动不动就上百K;

现在,有了滤色模式模式,我们只要准备一张黑色底色的jpg图片就可以了,应用screen混合模式,不仅可以跟底图完全融为一体,且使用的前景图片的文件尺寸只有PNG图片的1/10。

例如我们有下面一张底图,森林和小鹿:

然后,有以下一些特效前景图:

分别和提供的底图进行混合,可以看到如下图所示的实时效果:

可以看到效果很棒很自然。而这里使用的前景素材尺寸300*400,尺寸仅20K左右,开销非常小。

还能应用于HTML video视频

滤色混合模式不仅可以作用于图像,还可以用于视频,同样的,只要我们把视频的底色做成黑色,就能很好得和网页背景融为一体。

例如这里有个网页截图,还有一个二次元风格的场景图:

然后还有两个黑色背景的视频特效素材,分别是礼花绽放和瓢泼大雨(视频不动请点击):

通过设置video元素混合模式为screen,可以得到下面所示的精彩效果(视频不动请点击):

为网页动效的实现增加了新的思路。

三、滤色混合模式的兼容性

滤色混合模式的兼容性还是很溜的,2014年底就开始支持,目前已经快5年了,按照手机的更新速度,只要你的产品不是国民级的,移动端是可以放心使用的。

由于Edge拥抱Chrome浏览器,因此,Edge75也是支持了,可以预见,10年后,等window7系统没有人使用的时候,PC端也可以绽放光彩了。[图片上传失败…(image-e92fad-1559029725292)]

无论在哪个语言中,无论是什么设计工具,滤色混合模式都是非常基础,非常常见的一种混合模式,如果你致力于在图形表现领域有所作为,一定要把这种模式的混合算法、特效以及应用场景记得滚瓜烂熟。

好了,本文内容就这些,感谢阅读!

CSS mix-blend-mode滤色screen混合模式相关推荐

  1. html5 滤色,深入理解CSS mix-blend-mode滤色screen混合模式

    建议在非IE浏览器下浏览本文,否则很多实时渲染效果看不到,影响阅读. 一.滤色screen混合模式速览 screen混合模式,国内称为"滤色",其计算公式是: 公式中的C表示最终混 ...

  2. web前端入门到实战:CSS mix-blend-mode滤色screen混合模式

    一.滤色screen混合模式速览 screen混合模式,国内称为"滤色",其计算公式是: 公式中的C表示最终混合的RGB色值(范围是0-255),A和B表示用来混合的两个颜色的RG ...

  3. OpenGL(十七)Photoshop blend算法 与 图层混合模式

    使用混合模式可以制作丰富多彩的效果.而OpenGL中可以轻松开启这种模式,但更关键的是图形算法.本文参照 Photoshop blend算法 ,介绍如何通过shader,在OpenGL中实现混合效果. ...

  4. CSS的@media与@media screen,媒体查询

    在网站自适应设计中,@media与@media screen是经常会用到的css代码,其功能就是为不同的媒体设置不同的css样式,这里的"媒体"包括页面尺寸,设备屏幕尺寸等. @m ...

  5. Unity 学习网站

    Post Processing [Unity]Post-process后处理参数详情记录_Mediary的博客-CSDN博客_unitypostprocess Unity PostProcess简要分 ...

  6. 《转》15种CSS混合模式让图片产生令人惊艳的效果

    浏览器支持 按照现在情况来讲, 浏览器支持 CSSbackground-blend-mode属性还在不断的完善中.早期版本的浏览器目前还不支持,但caniuse.com报告说在Chrome,Firef ...

  7. CSS颜色混合模式特效

    查看原文:http://www.ibloger.net/article/394.html 注意:只有使用最新版的谷歌浏览器.火狐浏览器,才能正确的显示本文中的演示. Photoshop里最没有用处的一 ...

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

    看了一篇在新的图层中加镜头光晕的博文:[url]http://www.photoshopessentials.com/photo-effects/lens-flare/[/url] ,其中光晕图层的混 ...

  9. css mix-blend-mode 颜色滤镜混合模式

    CSS3混合模式种类 在CSS3混合模式中,目前仅有16种:normal,multiply,screen,overlay,darken,lighten,color-dodge,color-burn,h ...

最新文章

  1. C++中类的大小问题
  2. 使用模板将Web服务的结果转换为标记语言
  3. K8S Deployment脚本部署Tomcat集群
  4. 小程序 video 控制器外观调整_最好的Nintendo Switch控制器
  5. [css] css怎么更改表单的单选框或下拉框的默认样式?
  6. python 40位的数减个位数_Python数据分析入门教程(五):数据运算
  7. uvm_reg_defines——寄存器模型(四)
  8. EMC测量的常用计量单位分贝(dB)及其换算
  9. yum命令在线下载mysql数据库_用yum命令安装mysql数据库
  10. linux opera flash插件,Opera 浏览器找不到 flash 插件的解决方案
  11. oracle 函数 实现重载_Oracle 过程、函数、包、重载、自主事务
  12. UVA 10391 STL容器的使用
  13. python 调用 c 生成数组_使用C类型如何将数组从C++函数返回到Python
  14. Java网络爬虫实操(6)
  15. 1. 通用基础算法(1.1枚举算法/1.2递推算法/1.3递归算法)
  16. 按键精灵 获取某网站服务器时间,按键精灵如何获得网络时间的毫秒
  17. PP实施经验分享(3)——MRP运行问题常用解决方式
  18. [转载] 晓说——第1期:揭秘游戏规则奥斯卡走下“神坛“
  19. oracle如何实现全角和半角的切换
  20. 应用QQ2440(s3c2440)ARM开发板驱动MMA7455加速度计的linux设备驱动编写

热门文章

  1. Ubuntu 18.04 安装Qt 5.12.0
  2. 星际争霸Ⅱ 神族操作记录
  3. CSDN使用Markdown编辑器
  4. mac怎么更新python_mac上更新python的方法
  5. 获取java可用时区列表ZoneId
  6. Codeforces - Qualification Rounds
  7. Android websocket闪退,退出手机浏览器,websocket会自动关闭,不是长持续吗
  8. safari 浏览器版本升级后提示“此网页出现问题,已重新载入网页” 解决办法
  9. Java第一周练习题
  10. C语言怎么提出大写字母,c语言函数toupper()如何将小写字母转换为大写字母