在C#中把RGBA转换为仅有的RGB,但保留颜色。

问题描述 投票:0回答:1

下面的颜色是 rgba(55, 103, 235, 0.53) 在白色背景上。然而,在c#.NET中是否有代码可以将其转换为实际的rgb而不透明,但保留相同的颜色。 rgba实际上是 rgb(149, 174, 244) 当我用颜色选择器悬停在它上面时。

enter image description here

c# .net algorithm rgb rgba
1个回答
3
投票

我不知道这是否适用于任何背景颜色,但对于你的例子,你可以像这样计算数值。

value = backgroundValue - (backgroundValue - colorValue) * alphaValue
-----
r = 255 - (255 - 55)  * 0.53  = 149
g = 255 - (255 - 103) * 0.53 ~= 174
b = 255 - (255 - 235) * 0.53 ~= 244
© www.soinside.com 2019 - 2024. All rights reserved.