私のアプリケーションでは、カメラを使用して写真を撮っています。カメラのオーバーレイとして画像を使用したいと考えています。私のアプリケーションは横向きモードであるため、カメラは横向きのみを表示する必要があります。ビューのサブビューとして UIImagePicker を追加しています。以下のコードを使用して、それをランドスケープ ライト モードに変更しています。
CGAffineTransform transform=imgPicker.view.transform;
transform=CGAffineTransformRotate(transform, -90*M_PI/180);
transform=CGAffineTransformTranslate(transform, -52, -47);
[imgPicker setCameraViewTransform:transform];
また、カメラのオーバーレイとして UIImageView を追加している間、イメージビューは風景として追加されません。その肖像画を追加します。
これは私のコードです:
picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls=NO;
[picker setCameraFlashMode:UIImagePickerControllerCameraFlashModeOff];
[self.view addSubview:picker.view];
picker.view.frame=CGRectMake(0, 0, 480, 320);
picker.cameraOverlayView.frame=picker.view.frame;
CGAffineTransform transform=picker.view.transform;
transform=CGAffineTransformRotate(transform, -90*M_PI/180);
transform=CGAffineTransformTranslate(transform, -52, -47);
[picker setCameraViewTransform:transform];
[picker setWantsFullScreenLayout:YES];
[picker shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight];
UIView *theView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 120, 120)];
theView.backgroundColor = [UIColor yellowColor];
[picker setCameraOverlayView:theView];
どこが間違っているのか教えてください よろしくお願いします