en

hi, it seems you are using microsoft internet explorer. it doesn't match web standard and causes problems browsing this site. please please please use mozilla firefox or google chrome instead. thank you!

zh

哦哦!您正在使用Internet Explorer 瀏覽器,它與我們的網頁標準並不相容,可能會導致畫面顯示不正常。
請改用 Mozilla Firefox 或者 Google Chrome 才能正常瀏覽本網站,謝謝!

5.21.2012

查閱目前在 iOS 上 CIFilter 能使用的濾鏡效果方法

在先前的使用 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 來一次設定該濾鏡效果中所有的參數,使它們全部為預設值。








2 則留言: