【问题标题】:What's the formula for the combined transparency of two overlaid transparent images?两个重叠透明图像的组合透明度的公式是什么?
【发布时间】:2011-06-17 12:31:23
【问题描述】:

如果我想显示一个统一的半透明图像,然后“淡出”这个图像,逐渐用另一个相同透明度的图像替换它,同时在过渡期间将组合透明度保持在恒定水平,我该怎么做确定绘制图像的透明度?

通过反复试验 - 在彼此之上绘制各种 alpha 的透明图像 - 我得出了下图,显示图像 A 在一个轴上的透明度和图像 B 在另一个轴上的透明度。 'isoalpha' 线显示了沿线产生相同 alpha 的 alpha 组合。每条线代表不同级别的 Alpha,左上角完全透明。

您可以看到我正在寻找的公式不是 alphaA + alphaB == alphaTarget 的直线线性过渡。

我要找的数学公式是什么?

X 轴 - 图像 B 的 alpha (0-255 l-r)。 Y 轴 - 图像 A 的 alpha(向下 0-255)。

【问题讨论】:

    标签: graphics alpha alphablending imaging


    【解决方案1】:

    透明胶片倍增

    transparency_new = transparency_a * transparency_b
    

    但是,由于不透明度 (alpha) 是透明度的倒数:

    1 - opacity_new = (1 - opacity_a) * (1 - opacity_b)
    

    或:

    opacity_new = 1 - (1 - opacity_a) * (1 - opacity_b)
    

    如果使用从 0 到 255 而不是 0 到 1.0 的 alpha,则适当缩放

    alpha_new = 255 * (1 - (1 - alpha_a / 255) * (1 - alpha_b / 255))
    

    我使用上述公式和 Grapher.app 复制了您的图表:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-02
      • 2011-10-14
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      相关资源
      最近更新 更多