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
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
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))