gpt4 book ai didi

ios - 在 iPhone X 上缩放全屏相机

转载 作者:行者123 更新时间:2023-11-29 00:06:43 34 4
gpt4 key购买 nike

我使用 UIImagePickerController 在我的应用程序中实现了自定义相机。我之前通过应用this transformation使相机全屏显示:

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
ipc = [[UIImagePickerController alloc] init];
ipc.delegate = self;

ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
ipc.showsCameraControls = NO;

[[NSBundle mainBundle] loadNibNamed:@"SnapItCameraView" owner:self options:nil];
self.overlayView.frame = ipc.cameraOverlayView.frame;
ipc.cameraOverlayView = self.overlayView;
self.overlayView = nil;

//For iphone 5+
//Camera is 426 * 320. Screen height is 568. Multiply by 1.333 in 5 inch to fill vertical
CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, 71.0); //This slots the preview exactly in the middle of the screen by moving it down 71 points
ipc.cameraViewTransform = translate;

CGAffineTransform scale = CGAffineTransformScale(translate, 1.333333, 1.333333);
ipc.cameraViewTransform = scale;
ipc.showsCameraControls = NO;
ipc.tabBarController.tabBar.hidden = YES;
ipc.allowsEditing = NO;
[self presentViewController:ipc animated:YES completion:nil];
}

不过,iPhone X的摄像头并没有填满屏幕。它与屏幕顶部齐平,但底部有一条黑条。

我认为问题在于 1.3 是垂直填充屏幕的错误比例。我希望相机能填满 iPhone X 手机的整个屏幕。

最佳答案

如果您可以计算该比率,那么在这里硬编码该比率没有多大意义。

您通过将屏幕高度 (568) 除以相机 View 的高度 (426) 计算出 1.3333。该逻辑在 X 上应该同样有效,但您需要提供正确的参数,而不是假设所有手机都具有相同的屏幕尺寸。

另请记住,如果您选择按比例缩放,则转换此图像可能会导致部分图像被截断。

关于ios - 在 iPhone X 上缩放全屏相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47820362/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com