我在嘗試實施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) 終止叫做拋出異常