0

我得到一些 DNG 原始文件并想在 iPhone 中显示它们。我CIFilter用来读取原始文件,但是当我尝试获取时outputImage,它返回nil.
代码如下所示:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"1" withExtension:@"DNG"];
CIFilter *filter = nil;
filter = [CIFilter filterWithImageURL:url options:nil];
[filter setValue:@(2000) forKey:kCIInputNeutralTemperatureKey];
CIImage *imgCI = [filter.outputImage imageByApplyingFilter:@"CIVignette"];//5
UIImage *img = [UIImage imageWithCIImage:imgCI];

在第 5 行中,thefileter.outputImage为 nil,因此 finalimg为 nil。我在 Mac 中检查了 DNG 文件,它显示它是Adobe Raw. 我还打印了filter控制台:

CIRAWFilterImpl: inputRequestedSushiMode=nil inputNeutralChromaticityX=0.5342335533653005 inputNeutralChromaticityY=0.4233451399853654 inputNeutralTemperature=2000 inputNeutralTint=9。616524016108169 inputNeutralLocation=[] inputEV=0 inputBoost=1 inputDraftMode=nil inputScaleFactor=1 inputIgnoreOrientation=nil inputImageOrientation=1 inputEnableSharpening=1 inputEnableNoiseTracking=1 inputEnableVendorLensCorrection=0 inputNoiseReductionAmount=0 inputLuminanceNoiseReductionAmount=nil inputColorNoiseReductionAmount=nil inputNoiseReductionSharpnessAmount=nil inputNoiseReductionContrastAmount=nil inputNoiseReductionDetailAmount=nil inputMoireAmount=nil inputDecoderVersion=nil inputBoostShadowAmount=nil inputBias=nil inputBaselineExposure=nil inputDisableGamutMap=0 inputHueMagMR=nil inputHueMagRY=nil inputHueMagYG=nil inputHueMagGC=nil inputHueMagCB=nil inputHueMagBM=nil inputLinearSpaceFilter=nil>

似乎 nil 可能会inputDecoderVersion导致问题(但我不确定)。
DNG文件是从Internet下载的,我也尝试了NEF具有相同结果的文件。

有人可以给点建议吗?

4

1 回答 1

1

它应该在真实设备中运行。
在模拟器中,它返回nil.

于 2018-10-05T11:37:03.697 回答