Core Image中图像各种效果的处理,都是通过Filter来实现的,简要的步骤如下:
1、创建待处理的CIImage对象(可以从文件、数据等创建,Core Image处理的对象)
2、创建CIFilter对象
3、将待处理的CIImage对象赋给CIFilter对象ImputImage属性,同时为CIFilter对象的其他默认属性赋值
4、创建输出的CIImage对象,将CIFilter应用的结果输出到该对象
5、转换CIImage对象对UIImage对象或其他类型
参考文章: http://www.planet1107.net/ios5-core-image-filters-328
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