このフレームワークは、Apple社が提供している多くのMacアプリで使われていますが、ようやくiOSにも実装されて(iOS 5以上で利用可能)画像編集アプリなどでも数多くの組み込みフィルタが使えるようになりました。iOS 6からは利用できるフィルタ数も100近くに増えています(OS Xでは130以上)。本アプリと書籍では、Core Imageを利用するサンプルソースコードを幾つか紹介することで、iOSに実装されたばかりの本フレームワークの活用方法の習得を目指します。
著者:有限会社オッティモ 小池邦人
書籍はePubドキュメントです。本文については、iPad版 iBooksのテーマが「フルスクリーン」、フォント種類が「ヒラギノ明朝」、フォントサイズが「下から3番目」に合わせてレイアウトされています。その設定に変更してからiPadを縦向きにしてお読みください。Mac版 iBooksで読まれる場合には、表示を「単一ページ」に設定してください。
一度登録してしまえば、本文中に設定されているハイパーリンク経由でアプリの指定したデモを起動することが可能です。アプリを起動するハイパーリンクは先頭に「★」が付いています。その箇所のタップでアプリが起動され、リンク先に記載されているデモ内容が実行されます。アプリからはツールバーの「ビューアへ」ボタンをタップすることでiBooksへ戻ることが出来ます。
サンプルソースコードプロジェクトの開発環境はXcode 5です。ビルドして実機にインストールする場合には、Xcodeのプロジェクトターゲット(TARGETS)のGeneralで表示される「Build Identifier」と、Build Settingsの「Code Signing Identity」を正しく再設定してください。アプリの起動対象はiOS 6.0以上であり、iOS 7.0でも問題なく動作させることができます。
CI01ViewController ….(A)CI01 利用可能フィルタ
CI02ViewController ….(B)CI02 複数フィルタ利用
CI03ViewController ….(C)CI03 表示先を設定する
CI04ViewController ….(D)CI04 CIFilterサブクラス
CI05ViewController ….(E)CI05 カラーエフェクト
CI06ViewController ….(F)CI06 カラー調整
CI07ViewController ….(G)CI07 合成フィルタ
CI08ViewController ….(H)CI08 幾何学調整
CI09ViewController ….(I)CI09 タイルエフェクト
CI10ViewController ….(J)CI10 歪みエフェクト
CI11ViewController ….(K)CI11 ブラー&シャープ
CI12ViewController ….(L)CI12 スタイルエフェクト
CI13ViewController ….(M)CI13 ハーフトーン
CI14ViewController ….(N)CI14 グラデーション
CI15ViewController ….(O)CI15 ジェネレータ
CI16ViewController ….(P)CI16 トランジション
CI17ViewController ….(Q)CI17 オールドフィルム
CI18ViewController ….(R)CI18 クロマキー合成
CI19ViewController ….(S)CI19 顔の回りをマスク
CI20ViewController ….(T)CI20 顔の回りをぼかす
CI21ViewController ….(U)CI21 顔をモザイク処理
CI22ViewController ….(V)CI22 自動で画質を改善
CI23ViewController ….(W)CI23 ビデオ映像の顔認識(シミュレータ不可)
CI24ViewController ….(X)CI24 ビデオフィルタ処理(シミュレータ不可)
CI25ViewController ….(Y)CI25 Movieフィルタ処理(シミュレータ不可)
「CategoryViewController」フィルタカテゴリー表示用のビューコントローラクラス
「TypeViewController」コンポジットフィルタタイプ表示用のビューコントローラクラス
「MyCIFilter」画像のカラー反転(インバート)を行うCIFilterのサブクラス
「ChromaKeyFilter」クロマキーを使い画像をマスキングするCIFilterのサブクラス
「EAGLView」フィルタ処理した結果の画像を表示するためのOpenGL ESのビュークラス
「FilteredView」フィルタ処理した結果の画像を表示するためのUIViewのサブクラス
【ご注意】サンプルソースコードの使用権利はフリーです。使えるようであれば、ご自身のソースファイルへコピー&ペースしてご利用ください。ただし、その結果として発生した事象に対しては責任は負いかねますのでご了承ください。