图片正常模式混合(透明度混合)公式

一、描述

所有内容摘自维基

在处理图象时可能需要手撸图片混合的代码,此时混合公式就十分重要。而正常混合(Normal Blending)模式是最常用的一种格式(比如PS的默认图层混合模式)。想手动实现时却发现搜“正常混合”搜不出结果,因此写一篇文章增加后来人的搜索命中率。

“正常混合”是什么?
顾名思义,就是上层图片覆盖下层图片。从感官上,上层的颜色不应该被下层影响。

比如A覆盖B:

  • 当两张图片完全不透明时A的像素取代B的像素。
  • 而A、B非不透明时,透明度则在此次混合中起关键作用。
    因此“正常混合”其实实质是“透明度混合(Alpha Blending)

二、公式

1.一般公式

透明度混合公式由Thomas Porter和Tom Duff定义

设A覆盖B
C表示Color(不包括不透明度通道)
α表示不透明度通道
下标A,B,O分别表示上层图像、下层图像、覆盖后图像
则对透明度有:
α o = α a + α b ( 1 − α a ) {\displaystyle \alpha _{o}=\alpha _{a}+\alpha _{b}(1-\alpha _{a})} αo=αa+αb(1αa)
或者写成更常见的另一种形式:
α o = 1 − ( 1 − α a ) ∗ ( 1 − α b ) {\displaystyle \alpha _{o}=1-(1-\alpha _{a})*(1-\alpha _{b})} αo=1(1αa)(1αb)
对颜色通道有:
C o = C a α a + C b α b ( 1 − α a ) α o {\displaystyle C_{o}={\frac {C_{a}\alpha _{a}+C_{b}\alpha _{b}(1-\alpha _{a})}{\alpha _{o}}}} Co=αoCaαa+Cbαb(1αa)

2. 下层完全不透明情形

网上更多的是这种情况,虽然形式更简单了,但事实上这个只在下层为完全不透明时适用
α b \alpha_{b} αb为1,则有:
α o = 1 {\displaystyle \alpha _{o}=1} αo=1
C o = C a α a + C b ( 1 − α a ) {\displaystyle C_{o}={C_{a}\alpha _{a}+C_{b}(1-\alpha _{a})}} Co=Caαa+Cb(1αa)

3.当颜色为“预乘透明度”的情形

当颜色为 预乘透明度(premultiplied alpha) 时,它的颜色通道预乘了α通道的值。
具体含义不在此展开,只给出此情形的透明度混合公式:
α o = α a + α b ( 1 − α a ) {\displaystyle \alpha _{o}=\alpha _{a}+\alpha _{b}(1-\alpha _{a})} αo=αa+αb(1αa)
C o = C a + C b ( 1 − α a ) {\displaystyle C_{o}=C_{a}+C_{b}(1-\alpha _{a})} Co=Ca+Cb(1αa)

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Photoshop的颜色混合模式是一种通过计算公式来调整图像颜色的工具。在Photoshop中,每个图层都可以应用不同的颜色混合模式,以改变图层与下方图层的颜色交互效果。 以下是几种常见的颜色混合模式及其计算公式: 1. 正常(Normal)模式:新像素的颜色等于它本身,计算公式为:新像素 = 原始像素。 2. 滤色(Screen)模式:通过增加原始像素的亮度来混合颜色,计算公式为:新像素 = 1 - (1 - 原始像素) * (1 - 混合像素)。 3. 叠加(Overlay)模式:根据混合像素的亮度,对比原始像素来调整颜色,计算公式为:如果混合像素 > 0.5,新像素 = 1 - (1 - 原始像素) * (1 - 2 * (混合像素 - 0.5)),否则新像素 = 原始像素 * (2 * 混合像素)。 4. 柔光(Soft Light)模式:根据混合像素的亮度,调整原始像素的亮度和对比度,计算公式为:如果混合像素 > 0.5,新像素 = 原始像素 + (2 * (混合像素 - 0.5) - (1 - 原始像素) * (1 - 2 * (混合像素 - 0.5))),否则新像素 = 原始像素 * (1 - (1 - 2 * 混合像素) * (1 - 原始像素))。 5. 差值(Difference)模式:根据混合像素与原始像素的差异,调整颜色,计算公式为:新像素 = 绝对值(原始像素 - 混合像素)。 6. 排除(Exclusion)模式:根据混合像素与原始像素的亮度差异,调整颜色,计算公式为:新像素 = (原始像素 + 混合像素 - 2 * 原始像素 * 混合像素)。 这些计算公式可以根据图层的不同混合模式进行调整,以达到不同的图像效果。Photoshop的颜色混合模式为用户提供了丰富的颜色调整选项,可以更好地编辑和设计图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值