0

将 alpha 应用于颜色后如何获得颜色值 (rgb)?

我想将 alpha 应用于颜色并从结果中获取 rgb 值。

也许我在想这个,或者它只是值例如 120 * alpha (0.6) = 结果颜色?但是白色是 255,所以它应该是 120 += 120 * alpha (0.6) 吗?

4

1 回答 1

1

如果颜色是部分透明的,则像素的最终颜色将取决于在其后面绘制的颜色。这使得这比您想象的要复杂得多。

应用 Alpha 时,颜色的rgb值根本不会改变。所有的变化是该颜色将如何与视图中的其他元素混合。

因此,您必须知道将在屏幕上的哪个位置绘制颜色,并在视图中查询该像素处的颜色,然后根据颜色的 alpha 值将其与您的颜色混合。

//psuedocode
resultColor = (backgroundColor * (1 - alpha)) + (myColor * alpha)

因此,如果您的 alpha 是0.2您混合颜色,那么结果是 80% 的背景色和 20% 的前景色。

于 2013-06-24T19:29:40.283 回答