《转自》 http://hi.baidu.com/wanhongnan/item/21bdae1aa98f668c88a95616
result = abs(src - dest)
result = (1 - alpha) * src + alpha * result
-----------------------------------------------------------------------------------------------------------------------
首先,要能取得上层与下层颜色的 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;