我有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/