xcode で Cocoa を使用して iPhone アプリを作成しています。内蔵カメラで写真を撮る方法を示すチュートリアルやサンプル コードが見つかりません。どうすればいいですか?どこで良い情報を見つけることができますか?
ありがとう!
xcode で Cocoa を使用して iPhone アプリを作成しています。内蔵カメラで写真を撮る方法を示すチュートリアルやサンプル コードが見つかりません。どうすればいいですか?どこで良い情報を見つけることができますか?
ありがとう!
次のコードをコピーしてプロジェクトに貼り付けるだけで、完全に実装された機能を利用できます。
ここで、takePhoto とchooseFromLibrary は、ボタンタッチで呼び出される独自のメソッド名です。
これらの方法については、適切なボタンのアウトレットを参照してください。
-(IBAction)takePhoto :(id)sender
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[imagePickerController setSourceType:UIImagePickerControllerSourceTypeCamera];
}
// image picker needs a delegate,
[imagePickerController setDelegate:self];
// Place image picker on the screen
[self presentModalViewController:imagePickerController animated:YES];
}
-(IBAction)chooseFromLibrary:(id)sender
{
UIImagePickerController *imagePickerController= [[UIImagePickerController alloc] init];
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
// image picker needs a delegate so we can respond to its messages
[imagePickerController setDelegate:self];
// Place image picker on the screen
[self presentModalViewController:imagePickerController animated:YES];
}
//delegate methode will be called after picking photo either from camera or library
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissModalViewControllerAnimated:YES];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[myImageView setImage:image]; // "myImageView" name of any UIImageView.
}
を使用しUIImagePickerController
ます。これに関する優れたチュートリアルがここにあります。
http://www.zimbio.com/iPhone/articles/1109/Picking+Images+iPhone+SDK+UIImagePickerController
ソース タイプをUIImagePickerControllerSourceTypeCamera
またはに設定する必要がありUIImagePickerControllerSourceTypePhotoLibrary
ます。これら 2 つのタイプでは、画面上の表示が大きく異なることに注意してください。両方を注意深くテストする必要があります。UIImagePickerController
特に、 を内部にネストしている場合、UINavigationController
注意しないと複数のナビゲーション バーやその他の奇妙な効果が発生する可能性があります。
このスレッドも参照してください
このUIImagePickerController
クラスでは、写真を撮ったり、写真ライブラリから選択したりできます。ソース タイプを として指定しUIImagePickerControllerSourceTypeCamera
ます。
以前に尋ねられたこの質問も参照してください: iPhone SDK を使用してカメラにアクセスする
アプリの写真を撮るために使用したコードは次のとおりです
- (IBAction)takephoto:(id)sender {
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
[picker setSourceType:UIImagePickerControllerSourceTypeCamera];
[self presentViewController:picker animated:YES completion:NULL];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
img = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[imageview setImage:img];
[self dismissViewControllerAnimated:YES completion:NULL];
}
写真を撮り直したい場合は、この関数を追加するだけです
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[self dismissViewControllerAnimated:YES completion:NULL];
}