RGBA Alpha混合算法

1、
1上層顏色
2下層顏色
R = R1 * Alpha1 + R2 * Alpha2 * (1-Alpha1)
G = G1 * Alpha1 + G2 * Alpha2 * (1-Alpha1)
B = B1 * Alpha1 + B2 * Alpha2 * (1-Alpha1)
Alpha = 1 - (1 - Alpha1) * ( 1 - Alpha2)
R = R / Alpha
G = G / Alpha
B = B / Alpha

2、
首先,要能取得上層與下層顏色的 RGB三基色,而後用
r,g,b 爲最後取得的顏色值;r1,g1,b1是上層的顏色值;r2,g2,b2是下層顏色值
r = r1/2 + r2/2;
g = g1/2 + g2/2;
b = b1/2 + b2/2;
以上爲50%透明。若要使用不一樣的透明度用如下算法(ALPHA=透明度):
(50%如下)
r = r1 - r1/ALPHA + r2/ALPHA;
g = g1 - g1/ALPHA + g2/ALPHA;
b = b1 - b1/ALPHA + b2/ALPHA;
(50%以上)
r = r1/ALPHA + r2 - r2/ALPHA;
g = g1/ALPHA + g2 - g2/ALPHA;
b = b1/ALPHA + b2 - b2/ALPHA;算法

相關文章
相關標籤/搜索