2012-01-13 198 views
0

我有一个核心图像过滤器的问题。代码非常简单。我创建了一个新的项目“单一视图应用程序”; 添加CoreImage框架..(这里是否需要添加任何头文件?) 添加uiiamgeview ...并将图像设置为its.image。 但是,当我尝试下面的代码,它没有显示任何影响。 你能不能给我一个错误或错误的手? 顺便说一句,我正在运行程序模拟器5.0与Xcode 4.2.1 在此先感谢。CoreImage框架不起作用?

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]]; 
+0

没有一个???? ?发生什么事? omg – 2012-01-15 06:39:47

回答

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,

+0

@superstar_jy请尝试我的上面的代码! – Bala 2012-10-30 16:01:43