iOS經過CIFilter對圖像進行濾鏡處理

在iOS5.0以後,蘋果公司提供了能夠對圖像進行處理的CoreImage框架。

其中裏面有一個CIFilter的濾鏡,裏面提供了很是強大的濾鏡功能。本篇只是說其中部分的方法和使用。其餘的功能仍是去看下蘋果的官方文檔更爲全面一些。同時,本文參考了該篇博客http://www.cnblogs.com/YouXianMing/p/3719056.html。
這是主要的代碼html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//將UIImage轉換成CIImage
CIImage *ciImage = [[CIImage alloc] initWithImage:originImage];
 
//建立濾鏡
CIFilter *filter = [CIFilter filterWithName: @"CIPhotoEffectChrome" keysAndValues:kCIInputImageKey, ciImage,  nil ];
 
//已有的值不改變,其餘的設爲默認值
[filter setDefaults];
 
//獲取繪製上下文
CIContext *context = [CIContext contextWithOptions: nil ];
 
//渲染並輸出CIImage
CIImage *outputImage = [filter outputImage];
 
//建立CGImage句柄
CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]];
 
//獲取圖片
UIImage *image = [UIImage imageWithCGImage:cgImage];
 
//釋放CGImage句柄
CGImageRelease(cgImage);
 
imageView.image = image;

這裏我使用的濾鏡效果是」CIPhotoEffectChrome」效果,固然,CIFilter的濾鏡效果但是很是多的,這是官方文檔的截圖
屏幕快照 2015-04-02 上午8.35.04
放個官方文檔的網址https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CoreImageFilterReference/#//apple_ref/doc/filter/ci/CIMaskedVariableBlurios

爲了方便各個濾鏡效果的對比,用了一個picker來選擇濾鏡
CoreImage測試app

奉上demo
CoreImage效果測試框架

 

本文出自 IT985博客 ,轉載時請註明出處及相應連接。測試

相關文章
相關標籤/搜索