[iPhone] Cameraで撮影, UIImagePickerController (Objective-C)

カメラを使って撮影して、保存、アルバムで確認するアプリを作りましょう
カメラを扱うには、UIImagePickerController と AVFoundation Framework を使う2通りありますが
ここでは扱いやすい UIImagePickerController を見ていきます。
尚、Swiftのケースはこちらです

sponsored link

Camera  UIImagePickerController

 
storyboard にアプリの構想もかねて部品を配置してみます

  1. カメラを起動させる
    • ボタン:UIButton「Start」
    • カメラ起動の action
  2. 取った画像を表示
    • 画像表示:UIImageView
  3. 画像を保存
    • ボタン:UIButton「Save」
    • 画像を保存する action
  4. 保存した画像を確認する
    • ボタン:UIButton「Album」
    • アルバムに移動する action
  5. それぞれのステータスを表示
    • ラベル:UILabel

camera_1
 
ボタンを3つ作成して
それぞれに「Start」「Save」「Album」と
名前を付けます、背景は明るいグレーに
 
UIImageView の背景も明るいグレーにして
配置し、ラベルをその下に入れます
まあ、このへんは好みですので適当でいいかな
 

UIImagePickerController

 
まずUIImagePickerController というクラスを使います
このクラスの親クラスは UINavigationController です
 
そのためデリゲートとして
「UINavigationControllerDelegate」「UIImagePickerControllerDelegate」の
プロトコルに対応していることをViewController.hに記述します
 
ViewController.h

 
IBOutlet と部品との関係は
「Start」-> bCameraStart
「Save」-> bSave
「Album」-> bAlbum
「UILabel」-> label
「UIImageView」-> cameraView
です、これに合わせて、storyboard の部品と紐付けします
 
また、それぞれの action は
cameraStart
savePic
showAlbum
でそれぞれのボタンに紐付けし、その内容は
ViewController.m に記述します
 
ViewController.m

 
カメラでの撮影は
1. カメラを利用する設定
2. カメラが利用可能かチェック
3. UIImagePickerController のインスタンスの作成
4. デリゲートを設定
5. presentViewController では
UIViewControllerが管理しているビューにを全画面を覆う画像の表示をします
[self presentViewController:cameraPicker animated:YES completion:nil];
 
イメージピッカーはカメラ以外にも使います

  1. UIImagePickerControllerSourceTypeCamera
    • カメラ
  2. UIImagePickerControllerSourceTypePhotoLibrary
    • フォトライブラリ
  3. UIImagePickerControllerSourceTypeSavedPhotosAlbum
    • アルバム

そのため、
UIImagePickerControllerSourceType
にどれを使うか指定します。
カメラを使う所と、アルバムを表示するところはほとんど同じです
 
〜〜〜編集後記〜〜〜
昔のことですが、携帯電話にカメラを載せるという
当時では考えられないような(今はあたりまえ)プロジェクトに参加していました
CMOSセンサーからのデータを画像処理してLCDに表示する
簡単に言いますが、結構なノウハウが必要なのです
それを、こんなに簡単にアプリで作れるとは…
 
例えば富士山登山を、ヘリで頂上にいきなり降り立つようなものに思えます
(実際は富士山近辺は飛行禁止だと思います、危ないので)
私がやっていたころは、登山に向けて半年前からランニングで足腰を鍛えて
地図無しで頂上を目指していたようなものですネー

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする