11
11

More than 5 years have passed since last update.

Instagram風のイメージピッカー、DLCImagePickerControllerを使ってみた

Last updated at Posted at 2013-12-06

日本語の資料がほとんど見つからなかったのでメモ。

インストール

CocoaPodsからインストールするのが簡単です。DLCImagePickerControllerを入れましょう。

Podfile
pod 'DLCImagePickerController'

呼び出し

DLCImagePickerControllerのインスタンスを生成してUINavigationController:presentViewController:で表示します。

DLCImagePickerController:initではDLCImagePicker.xibが使用されてる(ようにハードコードされている!)ので、見た目をカスタマイズしたい場合にはinitWithNibName:bundle:を使用してカスタマイズしたXIBファイルを食べさせてください。

DLCImagePickerController *picker = [[DLCImagePickerController alloc] init];
picker.delegate = self;

// customize here
picker.outputJPEGQuality = (CGFloat) 0.9;  // UIImageJPEGRepresentationの品質
picker.requestedImageSize = CGSizeMake(1024, 1024);  // 表示に利用するサイズ?

[self.navigationController presentViewController:picker animated:TRUE completion:nil];

受け取り

DLCImagePickerControllerDelegateプロトコルを実装します。これはUIImagePickerとほぼ同様のインターフェイスを持ったプロトコルですが、 NSDictionary内にUIImageではなくNSDataが格納されいてる点に注意 してください。画像データ取得時のキーは@"data"です。

- (void)imagePickerController:(DLCImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    // 画像データは info[@"data"] にNSDataオブジェクトとして格納されている
    UIImage *image = [UIImage imageWithData:info[@"data"]];

    // UIImagePickerControllerも併用するのであればUIImagePickerControllerOriginalImage等にフォールバックする
    if (!image) {
        image = [info objectForKey:UIImagePickerControllerOriginalImage];
    }

    // UIImageをお好きなように調理してください
}

撮影サンプル

モノクロフィルタを選ぶとこんな感じ。撮影部分の周りについている各種ボタンは標準搭載のものです。

Screenshot 2013.12.06 16.19.47.png

-

トラブルシュート

GPUImage 0.1.2でコンパイルが通らない

Blur関連のメソッドが変更されておりコンパイルが通りません(issue #45)。GPUImage 0.1.1を利用してください。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11