6
¿Cómo puedo convertir un CVPixelBufferRef en un NSImage o CGImageRef? Necesito poder mostrar el contenido del buffer de píxeles en una capa de animación principal.CVPixelBufferRef a NSImage
¿Cómo puedo convertir un CVPixelBufferRef en un NSImage o CGImageRef? Necesito poder mostrar el contenido del buffer de píxeles en una capa de animación principal.CVPixelBufferRef a NSImage
Para convertir el búfer en una imagen, primero debe convertir el búfer en CIImage
, que luego se puede convertir en NSImage
.
let ciImage = CIImage(cvImageBuffer: pixelBuffer)
let context = CIContext(options: nil)
Desde aquí se puede ir a ambos GCImage
y NSImage
:
let width = CVPixelBufferGetWidth(pixelBuffer)
let height = CVPixelBufferGetHeight(pixelBuffer)
let cgImage = context.createCGImage(ciImage, from: CGRect(x: 0, y: 0, width: width, height: height))
let nsImage = NSImage(cgImage: cgImage, size: CGSize(width: width, height: height))