Как захватить изображение в каталог документов использует AVFoundation - PullRequest
0 голосов
/ 08 сентября 2018

друзья Я использую 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? Я думаю, может быть, захватить в стандартном Camera Roll, а затем сохранить изображение в документы и удалить из Camera Roll. Но я думаю, что это плохая идея.

Как сохранить только в документы? Пожалуйста, помогите

1 Ответ

0 голосов
/ 08 сентября 2018

Я еще не использовал новый поток захвата изображений, но я провел некоторые исследования в документах.

Цитирование документов в AVCapturePhoto:

При съемке фотографий с помощью класса AVCapturePhotoOutput ваш объект делегата получает каждое результирующее изображение и связанные данные в форма объекта AVCapturePhoto. Этот объект является неизменяемой оболочкой из которого вы можете получить различные результаты захвата фотографий.

Если вы посмотрите на AVCapturePhoto в документах Xcode, есть метод fileDataRepresentation(), который возвращает данные изображения, готовые для записи в файл (формат данных определяется настройками в созданных вами AVCapturePhotoSettings). Вы можете просто сохранить эти данные в своем каталоге документов.

AVCapturePhoto также имеет функцию cgImageRepresentation(), которая даст вам CGImage для захваченного фото, которое вы можете затем обработать по своему усмотрению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...