質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

2419閲覧

[iPhone] UIImagePickerControllerのカメラモードで横向き撮影時に上端に黒枠が挿入される問題

Daiki-Kawanuma

総合スコア29

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2015/08/25 06:42

編集2015/08/30 08:43

UIImagePickerControllerのカメラモードで使いユーザが撮影した写真をUIImageViewにセットするという実装を行っています。
問題となっておりますのは、iPhoneを横向きにして撮影した場合、余った部分が黒枠として埋められてしまうことです。
端末を横向きにして撮影した画像はMacのDockがぎりぎり入る感じで撮影しました。
また、上下にある白線の内側の領域がUIImageViewにセットされるUIImageとなります。
しかしながら、画像のカラー部分と上白線の間に黒い領域が足された状態でUIImageViewにセットされます。

画像の上端が黒枠で埋められています
縦向きで撮影した場合は枠は入りません。
以下、UIImagePickerController実装部になります。

// カメラが利用できるか確認 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIImagePickerController *imagePickerController = [[UIImagePickerController alloc]init]; // カメラかライブラリからの読込指定。カメラを指定。 [imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera]; // トリミングなどを行うか否か [imagePickerController setAllowsEditing:YES]; // Delegate [imagePickerController setDelegate:self]; // アニメーションをしてカメラUIを起動 [self presentViewController:imagePickerController animated:YES completion:nil]; }

黒枠を取り除き、撮影したときのアスペクト比そのままでImageViewにセットする方法はありますでしょうか?
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jollyjoester

2015/08/29 15:54

ちょっと状況がわからないので教えていただけますか? - UIImagePickerControllerがおかしいということでしょうか?UIImageViewにセットするとおかしくなるのでしょうか? - キャプチャはカメラ使用時のようですがこれのどの辺がおかしいのでしょうか?
Daiki-Kawanuma

2015/08/30 08:39

閲覧いただきありがとうございます。 UIImagePickerがおかしい(意図と違う結果となる)感じです。 端末を横向きにして撮影したとき、MacのDockがぎりぎり入るくらいで撮影しました。 カラー画像の切れ目が撮影した領域になります。 しかしながら、上下にある白線の内側の領域がUIImageViewにセットされるUIImageになりますが、カラー画像と上端白線の間に黒い領域が足された状態でセットされます。 この余計な黒い領域を無くし、元のカメラで撮影した画像のままでUIImageViewにセットしたいのです。 ちなみに端末を立て向きで撮影した場合、この黒い領域は足されません。 よろしくお願いします。
guest

回答1

0

ベストアンサー

撮った写真をユーザーにトリミングさせる必要はありますか?

なければ下記の部分にNOをsetしてみてください。

ObjectiveC

1[imagePickerController setAllowsEditing:NO];

カメラのプレビューに表示されている白枠はトリミング対象の枠です。
ここに余白の部分(黒い部分)が入ったままUse Photoをした場合、写真のイメージの中に黒い部分も含まれてしまいます。

もしトリミングさせる必要があるならば、ユーザーに黒い部分がなくなるように写真を拡大してもらうしかないかもしれません。。。

投稿2015/08/31 01:09

jollyjoester

総合スコア1585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daiki-Kawanuma

2015/09/07 08:09

返信が遅くなってしまい申し訳ありません。 教えていただいた方法で黒枠は除去することができました。 トリミングさせることに重きを置くか、黒枠を除去することに重きを置くかは協議したいと思います。 貴重なご助言をいただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問