Blame view
App/camera/ALCameraLib/Utilities/CameraShot.swift
1.05 KB
1341bf603
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
// // CameraShot.swift // ALCameraViewController // // Created by Alex Littlejohn on 2015/06/17. // Copyright (c) 2015 zero. All rights reserved. // import UIKit import AVFoundation public typealias CameraShotCompletion = (UIImage?) -> Void public func takePhoto(_ stillImageOutput: AVCaptureStillImageOutput, videoOrientation: AVCaptureVideoOrientation, cropSize: CGSize, completion: @escaping CameraShotCompletion) { guard let videoConnection: AVCaptureConnection = stillImageOutput.connection(withMediaType: AVMediaTypeVideo) else { completion(nil) return } videoConnection.videoOrientation = videoOrientation stillImageOutput.captureStillImageAsynchronously(from: videoConnection, completionHandler: { buffer, error in guard let buffer = buffer, let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(buffer), let image = UIImage(data: imageData) else { completion(nil) return } completion(image) }) } |