如何将CIFilter添加到CALayer

new*_*mer 0 iphone core-animation objective-c calayer

我是核心动画的新手,我在视图中添加了一些图层并添加了图像.现在我想给我的图层添加模糊效果

但我不知道如何制作CIFilter并添加它.我通过相关问题 问题1 问题2


我的代码如下(显示编译错误)

#import < UIKit/UIKit.h >
#import < QuartzCore/QuartzCore.h >
#import < CoreGraphics/CoreGraphics.h >


@interface T_CALayerPart3_View : UIView {

    CALayer *_layer1;
    CALayer *_layer2;
    CALayer *_layer3;
    CALayer *_layer4;
    CALayer *_layer5;
    CIFilter *_filter;    //<----- error here[Expected specifier -qualifier -list before CIFilter]

    CATransform3D *_rotate, *_scale;

}
@end
Run Code Online (Sandbox Code Playgroud)

给我一些建议.你的建议对我很重要.不要在没有任何答案/评论的情况下离开页面.

[抱歉我的英语不好]

ken*_*ytm 8

iPhone OS中没有CIFilter.有CAFilter,但它是一个私有API,因此在AppStore应用程序上使用它意味着拒绝.如果您已经知道将使用哪些图像,则可以首先创建模糊图像.

请参阅如何在iPhone实现框或高斯模糊,了解如何"合法地"实现高斯模糊滤镜.

有关如何使用私有 CAFilter类在CALayer上应用模糊过滤器,请参阅CAFilter - iPhone开发Wiki.

  • 注意:iOS5有CIFilters (3认同)
  • @new:这意味着你需要在你要使用的文件中添加一个`@interface CAFilter:NSObject @ end`. (2认同)