我有2种颜色:1种是动态设置的,另一种始终是白色的0.5 alpha。我想计算生成的白色,就像使用叠加混合模式将其绘制在动态颜色的顶部一样。

我知道叠加结合了乘以屏幕混合模式。

乘法混合模式的公式为:

Result Color = (Top Color) * (Bottom Color) /255

屏幕混合模式为:
Result Color = 255 - [((255 - Top Color)*(255 - Bottom Color))/255]

如何计算“叠加”混合模式下的结果颜色?

是否有一个UIColor扩展类可以直接使用?

最佳答案

公式有两个部分:

第一部分:如果“下层值”> 127.5,请执行以下操作-

值单位=(255较低的图层值)/127.5

最小值=下层值-(255下层值)

叠加=(上层值*值单位)+最小值

第二部分:如果下层值
值单位=下层值/127.5

叠加层=上层值*值单位

从形式上我们可以看到最终结果很大程度上取决于上层值。如果上层值较高(较浅),则最终结果更可能较浅。

here

关于ios - 叠加混合模式公式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5825149/

10-12 04:29