the programming para language descargar apple ios swift swift3

ios - programming - La representación UIImagePNG de AVFoundation devuelve nil



xcode (1)

Tengo un método de delegado de salida de captura:

func captureOutput(_ captureOutput: AVCaptureOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, from connection: AVCaptureConnection!) { let filter = CIFilter(name: "CIColorControls") let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) let cameraImage = CIImage(cvPixelBuffer: pixelBuffer!) filter?.setValue(cameraImage, forKey: kCIInputImageKey) filter?.setValue(0.0, forKey: kCIInputSaturationKey) let filteredImage = UIImage(ciImage: filter!.value(forKey: kCIOutputImageKey) as! CIImage!, scale: 1.0, orientation: UIImageOrientation.right) DispatchQueue.main.async { self.cameraView.image = filteredImage } }

donde agrego filtro a mi imagen de vista previa en vivo. Pero si intento crear NSData a partir de la imagen con este método: UIImagePNGRepresentation () devuelve nulo y no tengo idea de por qué. Si utilizo CameraViewController, todo funciona perfectamente, así que creo que el problema está en AVFoundation. ¿Algun consejo?


El problema es que UIImage(ciImage:) no convierte un CIImage a un UIImage normal. Necesitas renderizar en un UIImage normal respaldado por un CGImage.