从UIImagePicker中删除摄像头控件 - 如何缩放到全屏 - iPhone/iPad
问题描述:
我在我的应用程序中显示一个UIImagePicker减去摄像头控件下面的代码。从UIImagePicker中删除摄像头控件 - 如何缩放到全屏 - iPhone/iPad
#define CAMERA_SCALAR 1.32
@implementation CameraViewController
- (id)init {
// Remove standard controls from UIImagePicker and make full screen
if (self = [super init]) {
self.sourceType = UIImagePickerControllerSourceTypeCamera;
self.showsCameraControls = NO;
self.navigationBarHidden = YES;
self.toolbarHidden = YES;
self.wantsFullScreenLayout = YES;
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);
}
return self;
}
最初,当我删除设置showsCameraControls为NO我有一个黑色的控制杆已经在屏幕上。为了抵消这一点,我添加了self.cameraViewTransform线来放大视图。
这有效,但它扭曲了图像。我认为我需要做的也是按照与宽度相同的比例来调整高度。
任何人都可以告诉我最好的方法来做到这一点?
在此先感谢!
答
我可能会误解你的问题,但规模的宽度,以及,你可以
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, CAMERA_SCALAR, CAMERA_SCALAR);
,而不是
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);
但当然,这将推动摄像机视野的边在屏幕之外。
原则上,我认为在这种情况下,没有最好的选择(确切地显示相机显示全屏的),因为问题的根源是屏幕/相机的纵横比的差异。你或者不得不错过部分观点,或者扭曲观点,这是我的想法。
谢谢大麦 - 这就是我的想法。 1.32是最好的标量值还是比较紧的? – GuybrushThreepwood 2012-01-16 13:41:53
在我读过的书(凯尔罗氏Pro iOS5增强现实)中,它使用了1.3。 – barley 2012-01-16 13:55:53
谢谢 - 不知道数学背后是什么 - 理论不应该是56/480的标量吗? (56是contols的宽度)。奇怪的。 – GuybrushThreepwood 2012-01-16 13:57:38