代码之家  ›  专栏  ›  技术社区  ›  Kerry Jones

从两种颜色计算得到的RGB,一种是透明的

  •  6
  • Kerry Jones  · 技术社区  · 14 年前

    我知道要转换成一般的透明度

    我有:

    Color A : RGB( 85, 113, 135 )
    Color B : RGB( 43, 169, 225 )
    

    颜色A有90%的不透明度,并放置在颜色B的顶部,导致

    Color C : RGB( 65, 119, 145 )
    

    我的问题是,它是如何得到C色的?如果我用颜色B代替另一个东西,我怎么得到颜色C?

    Color A : RGB( 85, 113, 135 )
    Color B : RGB( 45, 67, 82 )
    --------
    Color C : RGB( 65, 109, 131 )
    

    这些都是用图像做的工作示例--我现在试图计算剩余的颜色C,这样我就可以指定一个背景色。


    更新,请查看接受的答案。这个 red

    1 回复  |  直到 14 年前
        1
  •  7
  •   kbrimington    14 年前

    似乎您的公式正是示例中使用的公式,按组件计算,并向上取整。

    G_c := ceiling(G_a * alpha) + ceiling (G_b * (1 - alpha))
    B_c := ceiling(B_a * alpha) + ceiling (B_b * (1 - alpha))
    

    不过,奇怪的是,R分量似乎没有遵循规则。我想知道为什么。