我一直在阅读不同的答案,但还没能解决这个问题:
在我的iPad应用程序横向模式中,我有一个UIImagePickerController来拍摄这个选择器在UIPopoverController中显示的图片。
问题是预览时和拍照后的图像尺寸不同
预览:
拍摄照片后:
这里是我设置选择器和popOver的代码:
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;
}
那么如何使我的预览图像与实际拍摄的图像大小相同?
谢谢!
答案 0 :(得分:1)
我看到你的样本图像有2个不同之处:大小和水平翻转。
尺寸差异可能是因为您正在设置picker.modalPresentationStyle = UIModalPresentationFullScreen;
,但之后您将在较小的弹出框中显示它。
我会尝试在没有弹出窗口的情况下呈现选择器,看看它是否有效。
此外,预览图像看起来有点失真。如果您使用缩放以填充作为imageView的contentMode,那么我会将其更改为 Aspect Fill 。
我不知道水平翻转可能来自哪里。