【发布时间】:2011-04-09 04:45:08
【问题描述】:
假设 alpha 为 1 表示完全不透明,0 表示完全透明。 假设我有两张黑色图像,透明度为 50%(alpha = 0.5)。
如果它们叠放在一起,最终的透明度是 0.75,对吧?
如果他们的 alpha 为 0.25 ,结果应该是 0.5 左右,对吧?
如果他们的 alpha 为 0.9,那么结果应该是 0.97 左右,对吧?
你怎么能得到这些数字?
换句话说,我正在寻找一个从其他两个 alpha 值获取结果 alpha 值的函数。
float alpha = f(float alphaBelow, float alphaAbove)
{
//TODO implement
}
【问题讨论】:
-
按照惯例,当 alpha = 1 时颜色是不透明的,当 alpha = 0 时颜色是完全透明的。所以在 50% 之上放置 50% 的结果 alpha 应该是 25%,而不是 75%。
-
@KennyTM,好的,我将编辑我的帖子以使用从 0 到 1 的浮点数
标签: colors transparency alpha blending