Alpha 透明度混合算法,网上收集整理,分成以下三种: 一、 R1,G1,B1,Alpha1 为前景颜色值,R2,G2,B2,Alpha2 为背景颜色值,则 前景色 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 ; 二、半透明算法: 分离RGB色用"位与"、"移位"运算的方法; 透明的比例按2的N次幂来分级,这样可以快速运算。 可以得到这样的算法: R(C)= (32-n) * R(B)+ n* R(A);
三、简易Alpha混合算法:首先,要能取得上层与下层颜色的 RGB三基色, 然后用r,g,b 为最后取得的颜色值;r1,g1,b1是上层的颜色值;r2,g2,b2是下层颜色值 若Alpha=透明度,则 当Alpha=50%时, r = r1/2 + r2/2; g = g1/2 + g2/2; b = b1/2 + b2/2; 当Alpha<50%时, r = r1 - r1/ALPHA + r2/ALPHA; g = g1 - g1/ALPHA + g2/ALPHA; b = b1 - b1/ALPHA + b2/ALPHA; 当Alpha>50%时, r = r1/ALPHA + r2 - r2/ALPHA; g = g1/ALPHA + g2 - g2/ALPHA; b = b1/ALPHA + b2 - b2/ALPHA; |
|
来自: yxz1212_bao > 《图像处理》