【发布时间】:2015-05-05 10:47:22
【问题描述】:
我的颜色值为 rgb(92, 174, 224),并且希望在不透明度为 0.5(或我选择的任何值,可能为 0.4)且背景为白色 rgb(255) 时找到等效的 rgba , 255, 255)。
我希望答案采用等式的形式,例如:
div (d) = rgb(92, 174, 224) ---- (The colour to match)
background (b) = rgb(255, 255, 255) ---- (The colour behind the transparent colour)
x = (d - (b*0.5)) / 0.5
r = (d - (b*0.5)) / 0.5
g = (d - (b*0.5)) / 0.5
b = (d - (b*0.5)) / 0.5
【问题讨论】:
-
你使用什么编程语言?
-
c# 和 asp.net,但样式在 css 内。我不是在寻找一种方法来做到这一点。只是一个公式/方程式。
-
换句话说,我想将 rgb 转换为 rgba,其中 alpha/opacity 为 0.5。我想要一个方程式,这样我就可以改变目标颜色和不透明度的值,也许我应该改变背景颜色。
-
我在 webmasterworld.com 上找到了这个解决方案:body - rgb(153,204,255) container - rgb(255,255,255) opacity:0.4 r value=(r*0.4)+(255*0.6)=153,其中给出 r=0 g 值=(g*0.4)+(255*0.6)=204,得到 g=127 b 值=(b*0.4)+(255*0.6)=255,得到 b=255 不透明度 div - rgb(0,127,255) 或 #007fff 但该等式没有描述如何找到“r”。所以我发布的示例方程是如何找到“r”。但是这些方程不适用于我的值,因为它们给出了负值和高于 255 的值。
-
您查看过Alpha compositing 上的维基百科文章吗?它有点密集,但包含一些有用的信息。
标签: css transparency opacity alpha rgba