У меня есть слой предварительного просмотра, который вытягивается из камеры и работает как следует. Я хотел бы иметь возможность сделать снимок, когда я нажимаю кнопку. Я inited в AVCaptureStillImageOutput так:Как использовать AVCaptureStillImageOutput для съемки изображения
AVCaptureStillImageOutput *avCaptureImg = [[AVCaptureStillImageOutput alloc] init];
Тогда я пытаюсь сделать снимок с помощью этого объекта:
[avCaptureImg captureStillImageAsynchronouslyFromConnection:(AVCaptureConnection *) completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) { }];
мне нужна помощь в том, чтобы сделать снимок и сохранить его в переменной. Спасибо
Если вам нужно сделать хорошие снимки, используйте это в настройке: session.sessionPreset = AVCaptureSessionPresetPhoto –
спасибо за это. для ленивых, которые могут последовать, «AVCaptureConnection», вытащенный двойными for-loops, здесь * отличается *, чем «AVCaptureConnection», бегущий в «AVCaptureVideoPreviewLayer». Если вы передадите это соединение «captureStillImageAsynchronouslyFromConnection», вы получите сообщение об ошибке. –
Кстати, обратите внимание, что 'captureStillImageAsynchronously(): вы не должны предполагать, что обработчик завершения будет вызываться в определенном потоке.'. Существует '[weakSelf displayImage: image]', который, вероятно, предполагается запущенным в основном потоке. – SoftDesigner