【问题标题】:Calculate source RGBA given two samples composited over black and white backgrounds给定在黑白背景上合成的两个样本,计算源 RGBA
【发布时间】:2014-09-17 22:33:06
【问题描述】:

说明

我有一个未知值的半透明颜色。

我有一个这种未知颜色的样本合成在一个黑色背景上,另一个样本合成在一个白色背景上。

如何找到未知颜色的 RGBA 值?


示例

注意:复合材料的 RGB 值是使用 Wikipedia article on alpha compositing

中的公式计算的

黑色复合:

rgb(103.5, 32.5, 169.5)

复合白色:

rgb(167.25, 96, 233.25)

未知颜色的计算值为:

rgba(138, 43, 226, 0.75)


我读过的内容

【问题讨论】:

  • 不可能。看看你的价值观。黑色的最终比白色的要轻。
  • Alphas 对于不同的值仍然看起来很遥远。
  • @stark 看看我的新例子是否更清晰。

标签: algorithm colors alpha alphablending


【解决方案1】:

这需要一些实验,但我想我想通了。

减去黑白合成之间的任何颜色分量值应该会得到原始颜色的 alpha 值的倒数,例如:

A_original = 1 - ((R_white_composite - R_black_composite) / 255) // in %, 0.0 to 1.0

无论您使用 R、G 还是 B 组件,它都应该产生相同的值。现在您已经有了原始 alpha,找到新组件就像这样简单:

R_original = R_black_composite / A_original
G_original = G_black_composite / A_original
B_original = B_black_composite / A_original

【讨论】:

    猜你喜欢
    • 2010-11-22
    • 2017-04-23
    • 1970-01-01
    • 2013-11-27
    • 2023-03-06
    • 1970-01-01
    • 2011-01-16
    • 2014-08-05
    • 2016-01-12
    相关资源
    最近更新 更多