将 alpha 应用于颜色后如何获得颜色值 (rgb)?
我想将 alpha 应用于颜色并从结果中获取 rgb 值。
也许我在想这个,或者它只是值例如 120 * alpha (0.6) = 结果颜色?但是白色是 255,所以它应该是 120 += 120 * alpha (0.6) 吗?
将 alpha 应用于颜色后如何获得颜色值 (rgb)?
我想将 alpha 应用于颜色并从结果中获取 rgb 值。
也许我在想这个,或者它只是值例如 120 * alpha (0.6) = 结果颜色?但是白色是 255,所以它应该是 120 += 120 * alpha (0.6) 吗?
如果颜色是部分透明的,则像素的最终颜色将取决于在其后面绘制的颜色。这使得这比您想象的要复杂得多。
应用 Alpha 时,颜色的rgb
值根本不会改变。所有的变化是该颜色将如何与视图中的其他元素混合。
因此,您必须知道将在屏幕上的哪个位置绘制颜色,并在视图中查询该像素处的颜色,然后根据颜色的 alpha 值将其与您的颜色混合。
//psuedocode
resultColor = (backgroundColor * (1 - alpha)) + (myColor * alpha)
因此,如果您的 alpha 是0.2
您混合颜色,那么结果是 80% 的背景色和 20% 的前景色。