Ios 使图像与摄影机视图相同
我正在使用UIImagePickerController拍摄照片。对于全尺寸照片,我使用这种方法Ios 使图像与摄影机视图相同,ios,swift,camera,uiimagepickercontroller,Ios,Swift,Camera,Uiimagepickercontroller,我正在使用UIImagePickerController拍摄照片。对于全尺寸照片,我使用这种方法 var cameraAspectRatio : CGFloat = 4.0 / 3.0; var imageWidth = floorf(Float(screenSize.width * cameraAspectRatio)); var data = Float(screenSize.height)/imageWidth var scale = CGFloat(ceilf((data * 10.0)
var cameraAspectRatio : CGFloat = 4.0 / 3.0;
var imageWidth = floorf(Float(screenSize.width * cameraAspectRatio));
var data = Float(screenSize.height)/imageWidth
var scale = CGFloat(ceilf((data * 10.0) / 10.0))
cameraViewTransform = CGAffineTransformMakeScale(scale, scale)
但在拍摄完图像后,我在相机层看到的视图与照片不同(照片的视图更多,所以它更大)
我想制作一张照片,并使用整个全屏覆盖以相同的比例和视图输出照片。
你能给我一些建议吗?在我的一个项目中,我从这个链接获得了帮助:
希望这有帮助。我在我的一个项目中从这个链接获得了帮助:
希望这能有所帮助。诀窍是让提供视频预览的视图不过度扫描屏幕,并且具有正确的纵横比 我猜有两个地方你必须去看看:
AVCaptureVideoPreviewLayer
的previewLayer属性AVCaptureSession
会话预设AVCaptureSessionPresetPhoto
类型,则帧计算似乎正常(格式为4:3),但请再次检查此位
然后,
previewLayer
应该是AVLayerVideoGravityResize
,因为这会填充预览以适合您已正确调整大小的视图。诀窍是让提供视频预览的视图不会过度扫描屏幕,并且具有正确的高宽比
我猜有两个地方你必须去看看:
AVCaptureVideoPreviewLayer
的previewLayer属性AVCaptureSession
会话预设AVCaptureSessionPresetPhoto
类型,则帧计算似乎正常(格式为4:3),但请再次检查此位
然后,
previewLayer
应该是AVLayerVideoGravityResize
,因为这会填充预览以适合您已正确调整大小的视图。因此,我需要与在相机中看到的图像相同的图像,但不是全尺寸。您是否找到了解决方案?我也有同样的问题,所以我需要和我在相机里看到的一样的图像,但不是全尺寸。你有没有可能找到解决方案?我也有同样的问题我看到了这个答案,并用它来填充全屏,但还有另一个问题-我拍照的视图是缩放的,而我得到的图像不是缩放的,所以它们是不同的我看到了这个答案,并用它来填充全屏,但还有一个问题-我拍照的视图是缩放的,而我得到的图像不是缩放的,所以他们是不同的