2013-03-27 75 views
12

我發現,在IOS 的UIImage可以換到CIImage。而存在的UIImage屬性CIImage。當我使用UIImage時,UIImage對象不是null,但UIImage.ciimage爲空,爲什麼?誰能告訴我,爲什麼UIImage.ciimage爲空

原諒我愚蠢的問題,如果有人可以幫助我,非常感謝。


ADD

例如,代碼像下面返回NULL:

UIImage *image = [UIImage imageNamed:@"test.jpg"]; 
CIImage *ciImage = image.CIImage 

,但如果以這種方式CIImage不爲空:

UIImage *image = [UIImage imageNamed:@"test.jpg"]; 
CIImage *myImage = [[CIImage alloc] initWithCGImage:image.CGImage options:nil]; 

回答

27

正是由於這種UIImage實際上不是CIImage。換句話說,UIImage的CIImage只有在UIImage已經被CIImage支持(例如因爲它由imageWithCIImage:生成)的情況下才不爲零。你不能用這個神奇地把UIImage變成CIImage,就像你希望做的那樣。

這個文件其實很清楚。總是值得一讀。

+0

@matt然後,如何將UIImage轉換爲CIImage? – brimstone 2016-03-23 18:04:00

+4

@brimstone使用CIImage的'initWithImage:'初始化程序。 – matt 2016-03-23 18:10:13

+0

我發現有時直接從CIImage直接到UIImage並不總是工作。我將CIImage轉換爲CGIImage,然後轉換爲UIImage,它工作得很好。 – Munib 2016-12-30 02:45:34

相關問題