Core Image之Filter应用(iOS5新特性学习之四)

Core Image中图像各种效果的处理,都是通过Filter来实现的,简要的步骤如下:

1、创建待处理的CIImage对象(可以从文件、数据等创建,Core Image处理的对象)

2、创建CIFilter对象

3、将待处理的CIImage对象赋给CIFilter对象ImputImage属性,同时为CIFilter对象的其他默认属性赋值

4、创建输出的CIImage对象,将CIFilter应用的结果输出到该对象

5、转换CIImage对象对UIImage对象或其他类型

实例代码如下:

-(void)HueAdjust{
    // CIImage on which we apply effect
    CIImage *inputImage = [[CIImage alloc] initWithImage:
                           [UIImage imageNamed:@"face.png"]];

    // CIFilter CIHueAdjust
    CIFilter *hueAdjust = [CIFilter filterWithName:@"CIEdgeWork"];

    [hueAdjust setDefaults];
    [hueAdjust setValue:inputImage forKey:@"inputImage"];
    [hueAdjust setValue:[NSNumber numberWithFloat: 3.0f]
                 forKey:@"inputPower"];

    // CIImage with effect
    CIImage *outputImage = [hueAdjust valueForKey:@"outputImage"];

    // define context
    CIContext *context = [CIContext contextWithOptions:nil];

    // set image to UIImageView
    testImage = [[UIImageView alloc]initWithImage: [UIImage imageWithCGImage:
                         [context createCGImage:outputImage
                                       fromRect:outputImage.extent]]];

    [self.view addSubview:testImage];

参考文章: http://www.planet1107.net/ios5-core-image-filters-328

你可能感兴趣的:(image,filter,ios5)