ios - 如何在 UIView 的 layerClass 实例上使用 CIFilter?

标签 ios core-animation core-image

我的 UIView 正在为其层使用 TBPaperLayer 的实例。

+(Class)layerClass {
    return [TBPaperLayer class];
}

我想创建一个 CIFilter 来修改该图层的外观 - 特别是在其上应用模糊滤镜。 我怎样才能使用这段代码来模糊这一层的一部分? (代码来自:Blur CALayer's Superlayer)

CALayer *blurLayer = [CALayer layer];
CIFilter *blur = [CIFilter filterWithName:@"CIGaussianBlur"];
[blur setDefaults];
blurLayer.backgroundFilters = [NSArray arrayWithObject:blur];
[self.superlayer addSublayer:blurLayer];

-init期间没有superlayer。

最佳答案

这在 iOS 上是不可能的。来自CALayer class reference :

Special Considerations

This property is not supported on layers in iOS.

据推测,Apple 认为当前这一代 iOS 硬件的功能不足以支持实时图像过滤。

关于ios - 如何在 UIView 的 layerClass 实例上使用 CIFilter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15670080/

相关文章:

ios - preferredMaxLayoutWidth 在 Swift 中不起作用?

ios - 如何从 Objective C 类访问 swift 类的 List 属性

iphone - CATransform3d 一个 UIButton

iphone - 错误 : Parameter name omitted

ios - 图像亮度/对比度 - Xamarin iOS

ios - 无法在 Objective-C Pod 文件中找到 'SquareInAppPaymentsSDK' 的规范

ios - 获取 Assets 目录文件夹中所有图像的数组

iOS:如何为 uibezierpath 中的填充设置动画?

ios - 将 CIFiler 应用于图像的蒙版部分

objective-c - cocoa 将 CIImage 保存为 bmp 文件图像损坏