UIImagePickerControllerを使うと、
・シャッターボタン
・キャンセルボタン
・再撮影ボタン
・撮影した写真を使用するよう決定するボタン
・撮影した写真を静止画として表示し確認する画面
がデフォルトで用意されています。
これらをAVFoundationを使って実装したいです。
❶カメラ起動ボタンがあるカメラを起動する前のTopViewController(他にも色々置いていて画面は隙間なく埋まっている)から、カメラ起動ボタンでAVFoundationで作ったカメラのCameraViewControllerへ移動。
❷枠線付きのカメラを起動し、シャッターボタンで撮影
❸撮影した画像を表示し、「再撮影」か「使用」ボタンを押す
❹再撮影ボタン押下なら❷へ戻る、使用ボタン押下なら撮影した画像を外部APIに送る
❺APIの処理結果をTopViewControllerに表示
というものを考えています。
UIImagePickerControllerでも枠線をカメラ画面の上に載せることはできました。
しかし、撮影後の写真確認時に画面がずれてしまいます。
・撮影中↓
・撮影後↓
撮影中は赤枠の下線より上に紙が入っていますが、撮影後にずれてはみ出します。
UIImagePickerControllerではシャッターボタン押下直後の処理が書けず、撮影後の確認画面では枠線を消したり、画面がずれた分だけ枠もずらす等ができないので、AVFoundationを使用しカメラを実装しようとしています。
https://lynette-diary.blogspot.com/2019/07/ios-ios-uiimagepickercontroller.html
↑を参考にカメラ画面の表示、シャッターボタンは用意できました。
キャンセルボタンもできそうです。
上記の❸の撮影した写真を静止画として表示し、それを使用するか撮り直すか確認する実装ができません。
❹は、再撮影ボタンなら❷の処理をやり直せばよさそうですし、使用ボタンならよくある記事のアルバム保存処理をAPIを呼ぶ処理に変えれば良いだけなので問題ないです。
❸の部分だけどうしても良い方法が思い浮かびません。
何か良い方法はありませんでしょうか?
もしも、UIImagePickerControllerでもシャッターボタン押下直後の処理を自分でいじる方法があればそれでも良いです。
よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。