我得到一些 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
具有相同结果的文件。
有人可以给点建议吗?