模拟颜色透明度

时间:2012-07-12 08:27:02

标签: java colors rgb alpha argb

我有RGB颜色值和alpha值。假设我有白色背景并且应用了alpha,我怎样才能获得新的RGB值?

1 个答案:

答案 0 :(得分:12)

要应用于每个颜色通道的公式如下:

cr = cf * af + cb * ab * (1 - af)

其中 cr 是像素的结果颜色, cf 是前景色, cb 是背景色, af < / em>前景alpha和 ab 背景alpha。

请注意,颜色值通常已经预先存储了alpha,在这种情况下公式会简化为

cr = cf + cb * (1 - af)

另见alpha composing