2014-02-18 113 views
1

我有一個問題在CALayer添加濾鏡....這裏是代碼,但在最後還有一點是我們添加過濾器在CALayer行..過濾器在層

CIImage *inputImage = [[CIImage alloc]initWithImage:[UIImage imageNamed:@"%d.jpg"]]; 
CIFilter *minimumComponent = [ CIFilter filterWithName:@"CIMinimumComponent"]; 
[minimumComponent setValue:inputImage forKey:@"inputImage"]; 
[minimumComponent setDefaults]; 

CIImage *outputImage = [minimumComponent valueForKey:@"outputImage"]; 
CIContext *context = [CIContext contextWithOptions:nil]; 
imageLayer = [UIImage imageWithCGImage:[context createCGImage:outputImage fromRect:outputImage.extent]]; 

我猜這裏是錯誤

here是我的想法的鏈接...

+0

什麼是/沒有發生?什麼是錯誤?另外,imageLayer是什麼?看起來你正試圖將'UIImage'設置爲'CALayer'?你能否展示更多的代碼? (另外,你有沒有一個名爲「%d.jpg」的圖片)? – Fogmeister

回答

1

OK,首先我不是100%肯定有什麼錯誤你得到是但我建議改變這樣的事情...

CIImage *outputImage = [minimumComponent valueForKey:@"outputImage"]; 
UIImage *uiImage = [UIImage imageWithCIImage:outputImage]; 
+0

錯誤出現在我提到的位置, 「不兼容的指針類型分配給來自UIImage的'CAlayer'_strong」。 – sudeveloepr

+0

@sudeveloepr好的,是的。看看我對你的問題的評論。你正在試圖給'CALayer'分配一個'UIImage',這正是我的想法。你不能那樣做,它們是兩種完全不同的對象。你需要把'UIImage'放在'UIImageView'或類似的東西里。 – Fogmeister

+0

不用擔心,樂意幫忙:) – Fogmeister