【问题标题】:Why am I seeing an NSUnknownKeyException when setting up a CIAdditionCompositing filter?为什么我在设置 CIAdditionCompositing 过滤器时会看到 NSUnknownKeyException?
【发布时间】:2013-02-21 19:11:09
【问题描述】:

我正在尝试使用以下代码设置 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];

我看到以下错误:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因:'[<__nscfconstantstring> setValue:forUndefinedKey:]: 此类与键 inputImage 的键值编码不兼容。'

上线

[filter setValue:imageOne forKey:kCIInputImageKey];

我在设置这个 Core Image 滤镜时做错了什么?

【问题讨论】:

  • 如果您能提供更多信息会很有帮助。例如,哪一行抛出异常?
  • 异常 - UnknownKey! kCIInputImageKey = @"inputImage"

标签: ios core-image


【解决方案1】:

有点奇怪,这个方法行得通……

filter = [CIFilter filterWithName:@"CIAdditionCompositing" keysAndValues:kCIInputImageKey, imageOne, kCIInputBackgroundImageKey, imageTwo, nil];

谁能解释一下区别?

【讨论】:

    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多