2013-07-05 38 views
0

我一直在閱讀不同的答案,但還沒有能夠解決這個問題的ipad的UIImagePickerController不同尺寸:在預覽和採取PIC景觀

在我的iPad應用程序,風景模式,我有一個的UIImagePickerController拍照這picker顯示在UIPopoverController內部。

的問題是,在預覽並採取事先知情同意後的圖像尺寸是不同的

前瞻:

image on preview

taken pic

這裏我的代碼來設置選擇器和酥料餅:

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; 
} 

所以

拍攝圖像後如何使用與實際圖像相同的尺寸製作預覽圖像有人嗎?

謝謝!

回答

1

我看到您的示例圖像中的2個區別:大小和水平翻轉。

尺寸差異可能是因爲您正在設置picker.modalPresentationStyle = UIModalPresentationFullScreen;,但隨後您將顯示在較小的彈出窗口中。 我會嘗試提出沒有popover的選取器,看看它是否有效。

此外,預覽圖像看起來有點失真。如果您使用比例填充作爲imageView的contentMode,那麼我會將其更改爲Aspect Fill

我不知道水平翻轉可能來自哪裏。