You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

半透明黑色遮罩调暗图片对应的CSS brightness滤镜值是多少?

黑色遮罩透明度与brightness滤镜参数的对应关系

半透明黑色遮罩是图片调暗的常用方法,如今所有现代浏览器都支持filter: brightness(...),完全可以用这行简洁的CSS代码替代繁琐的遮罩层实现。

要让两种方式达到完全一致的视觉效果,黑色遮罩的不透明度(α)和brightness滤镜的参数值(β)满足以下对应关系:

β = 1 - α
等价于:α = 1 - β

比如遮罩opacity: 0.3时,对应brightness(0.7);brightness(0.4)则对应遮罩opacity: 0.6。


实现示例

CSS代码

.container {
  padding: 0;
  position: relative;
  width: 100px;
  height: 100px;
}

.image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* 黑色遮罩实现 */
.veil {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #000000;
  opacity: 0.5; /* 等价于带Alpha通道的颜色:#0000007F */
}

/* brightness滤镜实现 */
.darken {
  filter: brightness(0.5);
}

HTML代码

<fieldset class="container">
  <legend>使用遮罩层</legend>
  <img class="image" src="https://images.unsplash.com/photo-1726853546098-380e29da9e31?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"/>
  <div class="veil"></div>
</fieldset>

<fieldset class="container">
  <legend>使用brightness滤镜</legend>
  <img class="image darken" src="https://images.unsplash.com/photo-1726853546098-380e29da9e31?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"/>
</fieldset>

原理说明

黑色遮罩在默认normal混合模式下,颜色计算逻辑为:
最终像素RGB值 = 原图RGB值 × (1 - 遮罩不透明度) + 黑色RGB值 × 遮罩不透明度
由于黑色RGB值为0,简化后为:最终像素值 = 原图像素值 × (1 - α)

而brightness(β)滤镜的作用是将每个像素的RGB通道值直接乘以参数β,即:最终像素值 = 原图像素值 × β

要让两者视觉效果完全一致,只需让1 - α = β,这就是两者的核心对应关系。

内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 01:16:11