我遇到以下代码时出现问题;
//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已创建并可用于CIF过滤等),但不在此项目中。项目之间的唯一区别是原始(有问题)项目有OpenGLES实现,而新项目只使用CoreImage。此外,旧项目是从iOS 6 SDK创建的,iOS 6 SDK是iOS 8 SDK中的新项目。 我已经尝试了一些其他创建CIImage的方法(origimage.ciimage和via origimage.cgimage),但都没有。
任何想法都赞赏。
谢谢, 邓加。
答案 0 :(得分:0)
我已经解决了这个问题。 项目的LLVM 6.0代码生成设置,如果设置了任何优化级别(即>无),则无法分配CIImages。 因此,它在一个项目中起作用,但在另一个项目中起作用。