原文:https://blog.csdn.net/zpz_123123/article/details/104770801
Alpha其实是指不透明度,这么理解会更容易一些。
算法一:前后图片都有透明度
R1、G1、B1、Alpha1 为前景颜色值,R2、G2、B2、Alpha2 为背景颜色值,则:
Alpha = 1 - (1 - Alpha1) * ( 1 - Alpha2)
R = (R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1))/Alpha
G = (G1 * Alpha1 + G2 * Alpha2 * (1-Alpha1))/Alpha、
B = (B1 * Alpha1 + B2 * Alpha2 * (1-Alpha1))/Alpha
优化1
Alpha = 1 - (1 - Alpha1) * ( 1 - Alpha2)可以看出,只要Alpha1或者Alpha2有一个1,那么Alpha就是1,如果Alpha是1,那么可以进行优化,即:
R = (R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1))
G = (G1 * Alpha1 + G2 * Alpha2 * (1-Alpha1))
B = (B1 * Alpha1 + B2 * Alpha2 * (1-Alpha1))
优化2
如果Alpha1是1,那么
R = R1
G = G1
B = B1
网友评论