按 上层图像的颜色区域 来分类,把混合公式的“实战结果”写透彻。
约定:
RGB:0=黑,0.5=中灰,1=白
结果 = blend(上层, 下层)
| 混合模式 | 公式(简化) | 实际表现 | 下层图片是否可见 |
|---|---|---|---|
| 正片叠底 | 结果 = 0 | 永远是黑色 | ❌ 完全不可见 |
| 滤色 | 结果 = 下层 | 完全等于下层 | ✅ 完全可见 |
| 线性减淡(添加) | 结果 = 0 + 下层 | 完全等于下层 | ✅ 完全可见 |
| 叠加 | 结果 = 0 | 黑色(下层被覆盖) | ❌ 不可见 |
| 柔光 | 结果 = 下层² 等复杂关系 | 变暗,但接近黑色 | 几乎不可见 |
| 差值 | 结果 = |0 - 下层| = 下层 | 完全显示下层 | ✅ 完全可见 |
| 排除 | 结果 = 下层 | 完全显示下层 | ✅ 完全可见 |
| 颜色加深 | 结果 = 1 - 1 / (上层+ε) 会保护暗部 | 接近黑色,但下层暗部略保留 | ⚠️ 极暗区域微弱可见 |
结论(重点):
- 想让下层图片在上层黑色区域完全显示 → 使用 滤色 / 线性减淡 / 差值 / 排除
- 想让下层图片在上层黑色区域完全消失 → 使用 正片叠底 / 叠加
| 混合模式 | 公式 | 实际表现 | 下层图片是否可见 |
|---|---|---|---|
| 正片叠底 | 结果 = 下层 | 完全显示下层 | ✅ 完全可见 |
| 滤色 | 结果 = 1 | 纯白色 | ❌ 不可见 |
| 线性减淡 | 结果 = 1 + 下层 ≥ 1 | 白色 | ❌ 不可见 |
| 叠加 | 结果 = 1 | 白色 | ❌ 不可见 |
| 柔光 | 接近上层主导 | 亮化,趋向白 | 微弱可见 |
| 差值 | |1 - 下层| = 1 - 下层 | 下层反相 | ⚠️ 可见但反相 |
| 排除 | 1 + 下层 - 2×下层 = 1 - 下层 | 下层反相 | ⚠️ 可见但反相 |
结论(重点):
- 下层在上层白色区域完全显示 → 正片叠底
- 下层在上层白色区域消失 → 滤色 / 线性减淡 / 叠加
你原文提到:
下层图层有黑色,开混合模式为什么,可以使得上层的什么得以怎么样
这里直接给你两张对照表(这是很多人会搞反的):
| 模式 | 结果 |
|---|---|
| 正片叠底 | 黑色(上层消失) |
| 滤色 | 上层(上层正常显示) |
| 叠加 | 黑色(上层消失) |
| 差值 | 上层(正常显示) |
| 线性减淡 | 上层(正常显示) |
| 颜色减淡 | 黑色区域会被保护,非黑区域强烈提亮 |
✅ 想让上层在黑色背景下“亮部发光、暗部保留” → 滤色
✅ 想用下层黑色直接切掉上层 → 正片叠底
| 目的 | 选择模式 |
|---|---|
| 下层完全可见 | 滤色 / 线性减淡 / 差值 / 排除 |
| 下层完全隐藏 | 正片叠底 / 叠加 |
| 目的 | 选择模式 |
|---|---|
| 下层完全可见 | 正片叠底 |
| 下层完全隐藏 | 滤色 / 线性减淡 / 叠加 |
| 目的 | 选择模式 |
|---|---|
| 上层正常显示 | 滤色 / 线性减淡 / 差值 |
| 上层消失 | 正片叠底 / 叠加 |
| 目的 | 选择模式 |
|---|---|
| 上层正常显示 | 正片叠底 |
| 上层消失 | 滤色 / 线性减淡 / 叠加 |
黑色对滤色透明,对正片叠底遮挡
白色对正片叠底透明,对滤色遮挡
叠加/强光由上层主导亮暗