自定义相机纵横比
Posted
技术标签:
【中文标题】自定义相机纵横比【英文标题】:Custom camera aspect ratio 【发布时间】:2015-08-25 14:48:24 【问题描述】:我正在使用AVFoundation
使用以下代码创建自定义相机视图:
captureSession.addInput(AVCaptureDeviceInput(device: captureDevice, error: &err))
captureSession.addOutput(stillOutput)
if err != nil
println("error: \(err?.localizedDescription)")
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer?.videoGravity=AVLayerVideoGravityResizeAspectFill
而且效果很好。然后我使用以下代码在屏幕上捕获并显示图像:
self.stillOutput.captureStillImageAsynchronouslyFromConnection(videoConnection)
(imageSampleBuffer : CMSampleBuffer!, _) in
let imageDataJpeg = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(imageSampleBuffer)
var pickedImage: UIImage = UIImage(data: imageDataJpeg)!
var previewImageView=UIImageView()
self.previewImageView.frame = CGRect(x:0, y:0, width:UIScreen.mainScreen().bounds.width, height:UIScreen.mainScreen().bounds.height)
self.previewImageView.layer.zPosition = -1
self.view.addSubview(self.previewImageView)
但是当我想显示预览图像时,相机工作正常:
相机:
镜头预览后:
它应该看起来像相机视图。我该如何解决?
【问题讨论】:
你想达到什么效果?模糊或不同的按钮标题? 不,你可以看到第二张图片的纵横比不正确。 【参考方案1】:如果你想制作纵横比3:4
你应该设置:
captureSession.sessionPreset = .photo
【讨论】:
以上是关于自定义相机纵横比的主要内容,如果未能解决你的问题,请参考以下文章
Android 相机在 Google Cardboard 上缩放纵横比