2017-01-01 1 views
0

versuche ein Foto von benutzerdefinierten Kameraansicht zu nehmen, nicht den Code keine erros zeigen aber immer noch nichts passiert, in meinem Imageview ...Aufnehmen von Fotos mit benutzerdefinierten Kamera

@IBAction func photoTake(_ sender: UIButton) { 


     func capture(_ captureOutput: AVCapturePhotoOutput, didFinishProcessingPhotoSampleBuffer photoSampleBuffer: CMSampleBuffer?, previewPhotoSampleBuffer: CMSampleBuffer?, resolvedSettings: AVCaptureResolvedPhotoSettings, bracketSettings: AVCaptureBracketedStillImageSettings?, error: Error?) { 

      if let error = error { 
       print(error.localizedDescription) 
      } 

      if let sampleBuffer = photoSampleBuffer, let previewBuffer = previewPhotoSampleBuffer, 
       let dataImage = AVCapturePhotoOutput.jpegPhotoDataRepresentation(forJPEGSampleBuffer: sampleBuffer, previewPhotoSampleBuffer: previewBuffer) { 



       let dataProvider = CGDataProvider(data: dataImage as CFData) 

       let cgImageRef = CGImage(jpegDataProviderSource: dataProvider!, decode: nil, shouldInterpolate: true, intent: CGColorRenderingIntent.absoluteColorimetric) 


       let image = UIImage(cgImage: cgImageRef!, scale: 1.0, orientation: UIImageOrientation.right) 





       print(UIScreen.main.bounds.width) 


       self.capturedimage.image = image 
       self.capturedimage.isHidden = false 



      } else { 

      } 
     } 

    } 

i erhalten den Code aus diesem Thread Taking photo with custom camera Swift 3

+1

Sie haben eine Funktion in einer anderen Funktion und sonst nichts. Sie rufen nie die verschachtelte Funktion auf. – rmaddy

+0

ja es war meine Schuld – sarko

Antwort

0

SolutuionSwift 3

if let videoConnection = stillImageOutput.connection(withMediaType:AVMediaTypeVideo){ 

      stillImageOutput.captureStillImageAsynchronously(from: videoConnection, completionHandler: { (imageDataSampleBuffer, error) in 

       let imageData = AVCaptureStillImageOutput.jpegStillImageNSDataRepresentation(imageDataSampleBuffer) 
       let image = UIImage(data: imageData!) 
       print("image Taked: \(image)") 





      }) 

     } 
Verwandte Themen