如何使用不同的混合模式渲染CALayer,如屏幕还是乘法?

问题描述 投票:7回答:2

我有一个UIImageView并希望它以特定的混合模式显示。我知道iPhone有不同的混合模式,很可能用很多CG代码做到这一点......但也许有一个很好的方式与CALayer UIImageView

ios iphone core-animation
2个回答

2
投票

将视图图层的compositingFilter设置为支持的混合模式字符串。从文档中,图层的compositingFilter是

CoreImage过滤器,用于合成图层及其后面的内容。

要获取Core Image过滤器列表,请打印出kCICategoryCompositeOperation定义的过滤器名称

[CIFilter filterNamesInCategory:kCICategoryCompositeOperation]

或直接作为

[CIFilter filterNamesInCategory:@"CICategoryCompositeOperation"]

该阵列将包括表单中的核心图像过滤器

{
   CIColorBlendMode,
   CIColorBurnBlendMode,
   CIColorDodgeBlendMode,
   CIMultiplyBlendMode,
   ...
}

要使用CIMultiplyBlendMode,请将“multiplyBlendMode”设置为图层上的compositingFilter

self.layer.compositingFilter = @"multiplyBlendMode";
© www.soinside.com 2019 - 2024. All rights reserved.