作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 AVFoundation
使用以下代码创建自定义相机 View :
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)
但是当我想显示预览图像时相机工作正常,它看起来像这样:
相机:
拍摄预览后:
它应该看起来像相机 View 。我该如何解决?
最佳答案
如果你想制作宽高比3:4
你应该设置:
captureSession.sessionPreset = .photo
关于ios - 自定义相机纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32207212/
我有一张 table 。我希望它的数据垂直和水平居中。 我使用了 align="center"valign="middle" ,但它没有用。
我是一名优秀的程序员,十分优秀!