lets assume an alpha of 1 means fully opaque and 0 means fully transparent. lets say i have two black images which have 50% transparency (alpha = 0.5).
if they are laid on top of each other, the resulting transparency is 0.75, right?
if they would have an alpha of 0.25 , the result would be around 0.5, right?
if they would have an alp开发者_StackOverflow中文版ha of 0.9 , the result would be around 0.97, right?
how can you get to these numbers?
in other words i am looking for a function that gets the resulting alpha value from two other alpha value.
float alpha = f(float alphaBelow, float alphaAbove)
{
     //TODO implement
}
This answer is mathematically the same as Jason's answer, but this is the actual formula as you'll find it in reference material.
float blend(float alphaBelow, float alphaAbove) 
{ 
    return alphaBelow + (1.0 - alphaBelow) * alphaAbove; 
} 
float blend(float alphaBelow, float alphaAbove)
{
    return alphaBelow + alphaAbove - alphaBelow * alphaAbove;
}
This function assumes both parameters are 0..1, where 0 is fully transparent and 1 is fully opaque.
Photoshop does the following calculation:
float blend(float alphaBelow, float alphaAbove)
{
    return min(1,alphaBelow+(1-alphaBelow)*alphaAbove);
}
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论