混合 CALayer 背景色

问题描述

我正在尝试实现与此类似的目标:

enter image description here

我想要几个图层,将它们的颜色与它们下面的任何颜色混合。我一直在阅读有关 Core Image Filter 的一些内容,但我这里没有图片。我只想合并图层。

有人能指出我实现这一目标的正确方向吗?

解决方法

一种懒惰的方法是使每一层部分透明。这将导致它们的 RGB 值与下面的颜色(可能是白色)混合。不过,我怀疑,除非您调整每一层的不透明度以进行补偿,否则最底层的混合比例将小于顶层。

您确实可以使用 Core Image 过滤器将多个图像与附加着色组合在一起,但那是图像,而不是图层,您必须编写代码来应用过滤器。 (您可以在 Mac OS 中将 Core 图像过滤器附加到图层,但不能在 iOS 中附加。)