0

次のコードに問題があります。

//get a CIImage
UIImage *origImage  = [UIImage imageNamed:imageName];
CIImage *inputImage = [[CIImage alloc] initWithImage:origImage];

NSLog(@"the inputImage is %@", imageName);

imageName は NSString プロパティであり、常に正しくログに記録されます。私のプロジェクトでは、CIImage 行の直後にブレークポイントを配置すると、UIImage は取得されますが、CIImage は取得されません。また、いくつかの uiimage プロパティが奇妙に見えることに気付きました (スケールは常に小さく、0.0000002 と _imageFlags は空に見えます)。最近別のプロジェクトでコードをビルドしましたが、正常に動作します (CIImage が作成され、CIFiltering などに使用できます) が、このプロジェクトでは動作しません。プロジェクト間の唯一の違いは、元の (問題のある) プロジェクトには OpenGLES が実装されていたのに対し、新しいプロジェクトでは CoreImage のみが使用されていることです。また、古いプロジェクトは iOS 6 SDK から作成され、新しいプロジェクトは iOS 8 SDK から作成されました。CIImage を作成する他のいくつかの方法 (origimage.ciimage および origimage.cgimage 経由) を試しましたが、どれも機能しません。

どんなアイデアでも大歓迎です。

ありがとう、ダンガ。

4

1 に答える 1

0

問題を解決しました。プロジェクトの LLVM 6.0 コード生成設定で、最適化レベルが設定されている (つまり > なし) 場合、CIImage が割り当てられませんでした。したがって、あるプロジェクトでは機能しましたが、他のプロジェクトでは機能しませんでした。

于 2014-09-16T19:46:26.390 に答える