在 CALayer 上应用两个以上 CIFilter
Posted
技术标签:
【中文标题】在 CALayer 上应用两个以上 CIFilter【英文标题】:Applying more than two CIFilter over the CALayer 【发布时间】:2021-12-17 01:17:18 【问题描述】:我正在尝试使用 CIFilter 为 UIImageView 制作 Canvas。在我的应用程序中,用户应该有机会使用 UIPanGesture 修饰他的照片(将 UIBezierPath 添加到 CALayer)。 但是我遇到了一个问题。我不知道如何在用户与 UIImageView 交互期间添加多个过滤器,因为它不能是透明的,并且 CALayer 应该包含 CIImage 以进行润饰(我正试图找到避免它的方法)。
例如:添加美白和皮肤光滑 现在我有类似的东西:
UIImageView 带有不透明度的 WhitenLayer 和带有过滤器的图像内容 具有不透明度的平滑层和内容中带有过滤器的源图像而且看起来很糟糕。
【问题讨论】:
【参考方案1】:使用 backgroundFilters 和 multiplyCompositing 解决
【讨论】:
以上是关于在 CALayer 上应用两个以上 CIFilter的主要内容,如果未能解决你的问题,请参考以下文章
CALayer 旋转动画不适用于呈现的 ViewController
CAAnimation 在发布的 CALayer 上运行回调——Mac OS X