2012-08-16 107 views
1

我在嘗試實施CIHueAdjust時遇到錯誤。該應用程序以一個錯誤終止,如: - [CIImage的doubleValue]:無法識別的選擇發送到實例0xd6606d0CIHueAdjust核心圖像過濾器設置

這裏是整個項目:owolf.net/uploads/StackOverflow/HueAdjustProject.zip

這裏是.M代碼:

- (void)viewDidLoad 
{ 
    context = [CIContext contextWithOptions:nil]; 
    hueFilter = [CIFilter filterWithName:@"CIHueAdjust"]; 
    inputCGImage = imageView.image.CGImage; 
    [super viewDidLoad]; 
} 

- (IBAction)hueSliderValueChanged:(id)sender { 
    [hueFilter setValue:[NSNumber numberWithFloat:hueSlider.value] forKey: @"inputAngle"]; 
    [self filterImage]; 
} 

-(void)filterImage { 
    adjustedImage = [CIImage imageWithCGImage:inputCGImage]; 
    [hueFilter setValue:adjustedImage forKey:@"inputAngle"]; 
    adjustedImage = [hueFilter outputImage]; 
    CGImageRef cgimg = [context createCGImage:adjustedImage fromRect:[adjustedImage extent]]; 
    adjustedUIImage = [UIImage imageWithCGImage:cgimg]; 
    CGImageRelease(cgimg); 
    [imageView setImage:adjustedUIImage]; 
} 

錯誤日誌:

2012-08-16 17:14:02.062 HueAdjustProject [3333:707] - [CIImage的doubleValue]:無法識別的選擇發送到實例0xd6606d0 2012-08-16 17:14:02.065 HueAdjustProject [3333:707 ] *終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因是: ' - [CIImage的doubleValue]:無法識別的選擇發送到實例0xd6606d0' *第一擲調用堆棧: (0x3544088f 0x377e7259 0x35443a9b 0x35442915 0x3539d650 0x36b09a3f 0xed0c5 0xed017 0x3539a3fd 0x32e8fe07 0x32e8fdc3 0x32e8fda1 0x32e8fb11 0x33085d07 0x32e8f6a5 0x32e8e8a1 0x32e8e319 0x32e74695 0x32e73f3b 0x3703322b 0x35414523 0x354144c5 0x35413313 0x353964a5 0x3539636d 0x37032439 0x32ea2cd5 0xecb17 0xecabc) 終止叫做拋出異常

回答

4
[hueFilter setValue:adjustedImage forKey:@"inputAngle"]; 

應該

[hueFilter setValue:adjustedImage forKey:@"inputImage"];