计算2种颜色的结果RGB,一种是透明的
-
29-09-2019 - |
题
我正在寻找一个将它们转换的公式。
我知道要转换一般的透明度
alpha * new +(1 -alpha) *旧
我有:
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
在上面的示例中很奇怪 - 公认的答案具有适合所有颜色的正确公式,我在Photoshop中对其进行了测试。
解决方案
看来您的公式正是示例中使用的公式,每个组件计算并舍入。
r_c:=天花板(r_a * alpha) +天花板(r_b *(1 -alpha))
G_c := ceiling(G_a * alpha) + ceiling (G_b * (1 - alpha))
B_c := ceiling(B_a * alpha) + ceiling (B_b * (1 - alpha))
奇怪的是,R组件似乎并未遵循规则。我倾向于想知道为什么。
不隶属于 StackOverflow