2

私はobjective-cが初めてで、しばらくの間この質問に対する答えを探していました...

写真共有アプリを作成していますが、カメラをフルスクリーンにしたいです。次のコードを使用して、デフォルトのカメラ オーバーレイを非表示にし、独自のカメラ オーバーレイを作成して、カメラをフルスクリーンにしました。次の画面で、フルスクリーンでキャプチャした画像をもう一度表示したいのですが、画像が横に潰れてしまいます。

カメラ オーバーレイの設定:

-(void)loadCamera {
self.imagePicker = [[UIImagePickerController alloc]init];
self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.imagePicker.delegate = self;
self.imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self.imagePicker.showsCameraControls = NO;

self.overlayIV = [[WAUCameraOverlayView alloc]initWithFrame:self.imagePicker.cameraOverlayView.frame];

[self.imagePicker.cameraOverlayView addSubview:self.overlayIV];

CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, 71.0); //This slots the preview exactly in the middle of the screen by moving it down 71 points
self.imagePicker.cameraViewTransform = translate;

CGAffineTransform scale = CGAffineTransformScale(translate, 1.333333, 1.333333);
self.imagePicker.cameraViewTransform = scale;

[self presentViewController:self.imagePicker animated:YES completion:nil];

}

上記のコードはうまく機能し、カスタム オーバーレイを使用してカメラを全画面表示にします。次に、このコード ブロックが実行されます。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
[self.overlayIV removeFromSuperview];
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

}

「画像」を次の画面に渡し、画面のサイズに初期化しますが、引き伸ばされます...フルスクリーンカメラからキャプチャされた画像を正確な比率とサイズで保存/表示する方法はありますか?

編集:画像を表示するために使用するコードは次のとおりです。

UIImageView *capturedImageView =[[UIImageView alloc]initWithFrame:self.frame];
capturedImageView.image = aImage;
    capturedImageView.contentMode = UIViewContentModeScaleAspectFill;
    [self addSubview:capturedImageView];

画像を画面のサイズにして、カメラでキャプチャされたのと同じ比率/縦横比にしたい

4

0 に答える 0