在先前的使用 CoreImage Framework 實作色相轉換一文中,我們已經知道在 CoreImage Framework 中的 CIFilter 可以提供影像與多有趣的濾鏡效果,但是絕大多數的濾鏡效果都只能在 MAC OSX 上使用,並非使用於 iOS 上,例如 CICategoryBlur 所提供的模糊效果等,下面我們提供一個方法可以有效率的找出目前在 iOS 上能夠使用的 CIFilter,當然你也可以直接查閱 Apple 的 Developer Library,只是就目前看來上面的資訊好像都不是最新的。
你可以使用以下的程式碼,在 CIFilter 類別中找出目前 iOS SDK 裡所能使用的濾鏡效果,並且透過 NSLog 方法函式傾印出來。
NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn];
NSLog(@"%@", filters);
[filters count];
NSLog(@"一共有 %d 種 CIFilter 濾鏡效果", [filters count]);
iOS SDK 5.1 下,CIFilter 所能使用的濾鏡名稱 |
另外,你也可以透過以下程式碼來檢視屬性,取得該濾鏡的詳細使用方式,我們以使用 CoreImage Framework 實作色相轉換一文中所使用的 CIHueAdjust 濾鏡效果為例,你可以看到在實作 CIHueAdjust 濾鏡時所需要的相關參數。
NSLog(@"%@", [[CIFilter filterWithName:@"CIHueAdjust"] attributes]);
CIHueAdjust 濾鏡效果的相關參數 |
ps:CIFilter 的每一項參數都有所謂的預設值(Default),你可以使用 setDefaults 來一次設定該濾鏡效果中所有的參數,使它們全部為預設值。
原來使用濾竟如此簡單!
回覆刪除是的!
刪除