애플 문서는이 사진을 캡처하는 단계는 How to use AVCapturePhotoOutput
에 대한 아주 명확한 설명합니다.
- AVCapturePhotoOutput 개체를 만듭니다. 이 속성을 사용하여 지원되는 캡처 설정을 결정하고 특정 기능 (예 : 라이브 사진 캡처 여부)을 활성화합니다.
- AVCapturePhotoSettings 개체를 만들고 구성하여 특정 캡처에 대한 기능 및 설정을 선택합니다 (예 : 이미지 안정화 또는 플래시 활성화 여부).
- 사진 설정 개체를 AVCapturePhotoCaptureDelegate 프로토콜을 구현하는 대리자 개체와 함께 capturePhoto (with : delegate :) 메서드에 전달하여 이미지를 캡처합니다. 그런 다음 캡처 출력 중에 중요한 이벤트를 알리기 위해 사진 캡처 출력에서 대리인에게 전화를 겁니다.
clickCapture 메서드에이 코드가 있어야하며 클래스에서 위임을 확인하고 구현하는 것을 잊지 마십시오.
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first!
let previewFormat = [kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
kCVPixelBufferWidthKey as String: 160,
kCVPixelBufferHeightKey as String: 160,
]
settings.previewPhotoFormat = previewFormat
self.cameraOutput.capturePhoto(with: settings, delegate: self)
당신은 체크 아웃 avfoundation에서 사진을 캡처에 다른 방법을 알고 싶다면 내 이전 SO answer
이것은 내가 몇 시간 동안보고하지만 여전히 구현하는 방법을 잘 모르겠습니다 된 대답은 그것. 예를 들어, 제 코드 조각은 JPEG 용 코덱을 선택했습니다. 이 코드로 어디에서 똑같이 할 수 있습니까? –
'AVCapturePhotoSettings'에 대한 초기화시 사전 형식 인 init 옵션이 있습니다. 해당 사전에 AVVideoCodecKey를 설정할 수 있습니다. 링크 [여기] (https://developer.apple.com/reference/avfoundation/avcapturephotosettings) [여기] (https://developer.apple.com/reference/avfoundation/avcapturephotosettings/1648673-init) 및 [여기] (https://developer.apple.com/reference/avfoundation/avcapturephotosettings/1648783-format). 자세한 내용은 사과 문서를 확인하는 것이 가장 좋습니다. – Bluewings