0

私はさまざまな回答を読んでいますが、この問題を解決できませんでした:

iPad アプリのランドスケープ モードでは、このピッカーが UIPopoverController 内に表示される写真を撮るための UIImagePickerController があります。

問題は、プレビューと写真を撮った後の画像サイズが異なることです

プレビュー:

プレビューの画像 .

画像を撮った後:

撮った写真

ここで、ピッカーとポップオーバーを設定するための私のコード:

BOOL hasCamera = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];

    picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    picker.sourceType = hasCamera ? UIImagePickerControllerSourceTypeCamera :    UIImagePickerControllerSourceTypePhotoLibrary;

    picker.modalPresentationStyle = UIModalPresentationFullScreen;

    picker.cameraDevice = UIImagePickerControllerCameraDeviceFront; 
    [picker setShowsCameraControls:FALSE];

    self.companyPopOverController = [[[UIPopoverController alloc] initWithContentViewController:picker] autorelease];

    self.companyPopOverController.passthroughViews=[NSArray arrayWithObject:self.view];
[self.companyPopOverController presentPopoverFromRect:CGRectMake(622, 534, 10, 10) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];

撮影した写真を表示するには:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

    UIImage *image=[info objectForKey:UIImagePickerControllerOriginalImage];
    [self.picImage setImage:image];
    [self.companyPopOverController dismissPopoverAnimated:YES];
    self.imageTaken = YES;
}

では、実際に撮影した画像と同じサイズのプレビュー画像を作成するにはどうすればよいでしょうか?

ありがとう!

4

1 に答える 1

1

サンプル画像には、サイズと水平方向の反転の 2 つの違いがあります。

サイズの違いは、設定picker.modalPresentationStyle = UIModalPresentationFullScreen; しているが、小さなポップオーバーに表示していることが原因である可能性があります。ポップオーバーなしでピッカーを表示して、それが機能するかどうかを確認します。

また、プレビュー画像が少し歪んで見えます。imageView の contentMode としてScale To Fillを使用している場合は、それをAspect Fillに変更します。

水平方向の反転がどこから来るのかわかりません。

于 2013-07-05T07:35:26.797 に答える