我正在尝试使用以下代码设置 CIAdditionCompositing 过滤器:
CIImage *imageOne = [CIImage imageWithCGImage:[UIImage imageNamed:@"picOne"].CGImage];
CIImage *imageTwo = [CIImage imageWithCGImage:[UIImage imageNamed:@"picTwo"].CGImage];
filter = [CIFilter filterWithName:@"CIAdditionCompositing"];
[filter setDefaults];
[filter setValue:imageOne forKey:kCIInputImageKey];
[filter setValue:imageTwo forKey:kCIInputBackgroundImageKey];
CIImage *imageResult = [filter outputImage];
CGImageRef imageRef = [context createCGImage:imageResult fromRect:imageResult.extent];
_imageView.image = [UIImage imageWithCGImage:imageRef];
我看到以下错误:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<__NSCFConstantString 0x2e2d60> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key inputImage.'
在线
[filter setValue:imageOne forKey:kCIInputImageKey];
我在这个 Core Image 过滤器的设置中做错了什么?
最佳答案
奇怪,这个方法行得通...
filter = [CIFilter filterWithName:@"CIAdditionCompositing" keysAndValues:kCIInputImageKey, imageOne, kCIInputBackgroundImageKey, imageTwo, nil];
谁能解释一下区别?
关于ios - 为什么我在设置 CIAdditionCompositing 过滤器时会看到 NSUnknownKeyException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010372/