2014-09-06 82 views
0

我遇到以下代碼的問題;UIImage imagenamed:以CIImage不一致的結果

//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)的其他方法,但都沒有工作。

任何想法讚賞。

謝謝, 鄧加。

回答

0

我已經解決了這個問題。 項目的LLVM 6.0代碼生成設置(如果設置了任何優化級別(即>無)),則CIImages將無法分配。 因此,它在一個項目中工作,但不是其他項目。