如何使用AVFoundation将图像捕获到Documents目录

时间:2018-09-08 16:43:49

标签: ios swift avfoundation

朋友 我使用AVFoundation和Swift捕获照片。在我的代码下面

func captureImage(completion: @escaping (UIImage?, Error?) -> Void) {
    guard let captureSession = captureSession, captureSession.isRunning     
else { completion(nil, CameraControllerError.captureSessionIsMissing); return }

    let settings = AVCapturePhotoSettings()
    settings.flashMode = self.flashMode

    self.photoOutput?.capturePhoto(with: settings, delegate: self)
    self.photoCaptureCompletionBlock = completion
}

如何使用AVFoundation仅将图像捕获到Documents应用程序目录? 我认为也许可以捕获到标准相机胶卷,然后将图像保存到文档并从相机胶卷中删除。但是我认为这是个坏主意。

如何仅保存到文档? 请帮助

1 个答案:

答案 0 :(得分:0)

我还没有使用新的图像捕获流程,但是我在文档中做了一些研究。

在AVCapturePhoto中引用文档:

  

使用AVCapturePhotoOutput类捕获照片时,您的   委托对象接收每个结果图像和相关数据   形式的AVCapturePhoto对象。该对象是不可变的包装器   从中可以检索照片捕获的各种结果。

如果您查看Xcode文档中的237 222 28 66 = 39.218 189 59 182 65 = 22.779 107 42 41 65 = 10.573 33 173 79 63 = 0.8114 0 0 128 63 = 1.0000 146 41 41 65 = 10.573 0 0 30 66 = 39.500 0 0 184 65 = 23.000 ,则有一种方法AVCapturePhoto将返回准备好写入文件的图像数据(数据格式由您设置的AVCapturePhotoSettings确定)创建)。您只需将数据保存到文档目录中即可。

fileDataRepresentation()还具有功能AVCapturePhoto,该功能将为您提供所捕获照片的CGImage,然后您可以根据需要对其进行处理。