CoreImage框架不起作用?

时间:2012-01-13 12:46:30

标签: objective-c filter core-image

我对Core Image过滤器有疑问。 代码非常简单。我创建了一个新项目“单视图应用程序”; 添加CoreImage框架..(这里我要添加任何头文件?) 添加uiiamgeview ...并将图像设置为its.image。 但是,当我尝试以下代码时,它没有显示任何效果。 你能不能给我一个错误或错误的手? 顺便说一下,我正在使用Xcode 4.2.1在模拟器5.0下运行该程序 提前谢谢。

CIImage *backgroundciImage = self.sourceImageView.image.CIImage;
CIContext *context = [CIContext contextWithOptions:nil];

//set the filter
CIFilter *filter = [CIFilter filterWithName:@"CIGammaAdjust"];
[filter  setDefaults];
[filter setValue:backgroundciImage forKey:@"inputImage"];
[filter  setValue:[NSNumber numberWithFloat:3.0f] forKey:@"inputPower"];

//get the output image
CIImage *outputImage = [filter valueForKey:@"outputImage"];
self.sourceImageView.image = [UIImage imageWithCGImage:[context createCGImage:outputImage fromRect:outputImage.extent]];

1 个答案:

答案 0 :(得分:0)

以下代码适合我。和

CIImage *image = [filterTemp valueForKey: @"outputImage"];    
CIContext *context = [CIContext contextWithOptions:nil];
CIFilter* filterBW = [CIFilter filterWithName:@"CIGammaAdjust"];
[filterBW setValue:image forKey:@"inputImage"]; 
[filterBW setValue: [NSNumber numberWithFloat:2.00f]  forKey: @"inputPower"]; 
CIImage *resultImage = [filterBW valueForKey: @"outputImage"];
self.sourceImageView.image = [UIImage imageWithCGImage:[context createCGImage:resultImage fromRect:resultImage.extent]];

或在您的情况下您可以在相应的.h文件中声明CIImage * backgroundciImage。,