以数学方式将alpha应用于颜色

时间:2013-06-24 19:26:03

标签: objective-c colors

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

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

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

1 个答案:

答案 0 :(得分:1)

如果颜色部分透明,则像素的最终颜色将取决于在其后面绘制的颜色。这让你觉得这更加复杂。

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

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

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

因此,如果您的alpha为0.2,则会混合颜色,因此结果为80%背景色和20%前景色。