2012-04-25 7 views
6

Wie kann ich eine CVPixelBufferRef in eine NSImage oder CGImageRef konvertieren? Ich muss in der Lage sein, den Inhalt des Pixelpuffers in einer Kernanimationsschicht anzuzeigen.CVPixelBufferRef zu NSImage

Antwort

0

Um den Puffer in ein Bild zu konvertieren, müssen Sie zuerst den Puffer in eine konvertieren, die dann in eine NSImage umgewandelt werden kann.

let ciImage = CIImage(cvImageBuffer: pixelBuffer) 

let context = CIContext(options: nil) 

Von hier aus können Sie sowohl GCImage gehen und 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)) 
Verwandte Themen