模拟颜色透明度

Tim*_*dik 9 java rgb alpha colors argb

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

Ada*_*man 12

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

cr = cf * af + cb * ab * (1 - af)
Run Code Online (Sandbox Code Playgroud)

其中cr是像素的结果颜色,cf是前景色,cb是背景色,af前景alpha和ab背景alpha.

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

cr = cf + cb * (1 - af)
Run Code Online (Sandbox Code Playgroud)

另见alpha合成.

  • 将公式分别应用于每种颜色(红色、绿色、蓝色) (2认同)