1
저는 맞춤 카메라 기능을 만들고 전화 갤러리에 이미지를 저장해야하는이 지정 작업을하고 있습니다. , 정말 간단 사진을 촬영스위프트를 사용하여 iOS에서 캡처 한 이미지를 저장합니다. 3
var captureSession = AVCaptureSession()
var sessionOutput = AVCapturePhotoOutput()
var previewLayer = AVCaptureVideoPreviewLayer()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: false)
let deviceSession = AVCaptureDeviceDiscoverySession(deviceTypes: [.builtInWideAngleCamera, .builtInDuoCamera,.builtInTelephotoCamera], mediaType: AVMediaTypeVideo, position: .unspecified)
for device in (deviceSession?.devices)! {
if device.position == AVCaptureDevicePosition.back {
do {
let input = try AVCaptureDeviceInput.init(device: device)
if captureSession.canAddInput(input) {
captureSession.addInput(input)
if captureSession.canAddOutput(sessionOutput) {
captureSession.addOutput(sessionOutput)
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
previewLayer.connection.videoOrientation = .portrait
cameraLayerView.layer.addSublayer(previewLayer)
cameraLayerView.addSubview(topControllerView)
cameraLayerView.addSubview(bottomControllerView)
previewLayer.position = CGPoint(x: self.cameraLayerView.frame.width/2, y: self.cameraLayerView.frame.height/2)
previewLayer.bounds = cameraLayerView.frame
captureSession.startRunning()
}
}
} catch let avError {
print(avError)
}
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(false, animated: false)
}
@IBAction func galleryAction(_ sender: UIButton) {
// This part shows the thumbnail of a current image been taken
}
@IBAction func captureAction(_ sender: UIButton) {
// This is the part i have capture the image
}
대부분 간단한 방법 덕분에 그것을 밖으로 시도하고 –
@BogdanFarca 피드백을 제공 할 것입니다 ImagePicker 컨트롤러를 사용하는 것 외에도 맞춤 카메라를 구현하고자하는 리소스가 있습니다. @BogdanFarca –
@SharkesMonken : 여기에 맞춤 카메라를 구현하는 방법에 대한 아주 좋은 설명이 있습니다. https://github.com/ codepath/ios_guides/wiki/Creating-a-Custom-Camera-View –