本文介绍了找到设备的相机分辨率iOS的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用设置 AVCaptureSessionPresetPhoto
找到要捕获的图像分辨率的最佳方法。
我想在捕获之前找到分辨率图片。
Whats the best method to find the image resolution going to be captured using setting AVCaptureSessionPresetPhoto
.
I am trying to find the resolution before capturing the image.
推荐答案
使用下面的函数,您可以通过编程方式从 activeFormat $ c获取分辨率$ c>在捕获开始之前,但不是在添加输入和输出之前:
With the function below, you can programmatically get the resolution from activeFormat
before capture begins, though not before adding inputs and outputs:https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDevice_Class/index.html#//apple_ref/occ/instp/AVCaptureDevice/activeFormat
private func getCaptureResolution() -> CGSize {
// Define default resolution
var resolution = CGSize(width: 0, height: 0)
// Get cur video device
let curVideoDevice = useBackCamera ? backCameraDevice : frontCameraDevice
// Set if video portrait orientation
let portraitOrientation = orientation == .Portrait || orientation == .PortraitUpsideDown
// Get video dimensions
if let formatDescription = curVideoDevice?.activeFormat.formatDescription {
let dimensions = CMVideoFormatDescriptionGetDimensions(formatDescription)
resolution = CGSize(width: CGFloat(dimensions.width), height: CGFloat(dimensions.height))
if (portraitOrientation) {
resolution = CGSize(width: resolution.height, height: resolution.width)
}
}
// Return resolution
return resolution
}
这篇关于找到设备的相机分辨率iOS的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!