微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – 从2种颜色计算得到的RGB,一种是透明的

我正在寻找一个转换它们的公式.

我知道转换一般的透明度

alpha * new(1 – alpha)* old

我有

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

颜色A具有90%的不透明度,并且位于颜色B的顶部,从而产生

Color C : RGB( 65,119,145 )

我的问题是,它如何获得Color C?如果我将Color B替换为另一件事,我该如何获得Color C?

这是另一个例子,相同的基色:

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

这些是用图像完成的工作示例 – 我现在正在尝试计算剩余的颜色C,以便我可以指定背景颜色.

更新,请参阅接受的答案.上面例子中的红色很奇怪 – 接受的答案有所有颜色的正确公式,我在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组件似乎不符合规则.我倾向于想知道为什么.

原文地址:https://www.jb51.cc/css/217865.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。