需要帮助了解Alpha频道

rec*_*gle 1 transparency alpha alphablending image-processing alpha-transparency

我有一个像素的RGB元组,我们称之为P.

(255,0,0)是P的颜色,alpha通道为1.0.

当alpha通道为0.8时,P的颜色变为(255,51,51).

如何获得影响P颜色的像素颜色?

Mar*_*som 6

让我们从头开始.具有alpha的像素只有在与其他东西混合时才有意义.如果你有一个带有alpha的上层U和一个完全不透明的下层L,那么这个等式是:

P = (alpha * U) + ((1.0 - alpha) * L)
Run Code Online (Sandbox Code Playgroud)

重新排列公式,您将获得:

L = (P - (alpha * U)) / (1.0 - alpha)
Run Code Online (Sandbox Code Playgroud)

显然,当alpha为1.0时,等式没有意义,因为你要除以零.

插入数字显示像素L的R = 255,G = 255和B = 255.

几乎普遍的是,按照惯例,图像中的最低层将全部为白色(255,255,255).