2012-04-25 22 views
6

Làm cách nào để chuyển đổi CVPixelBufferRef thành NSImage hoặc CGImageRef? Tôi cần để có thể hiển thị nội dung của bộ đệm pixel trong một lớp hoạt hình lõi.CVPixelBufferRef tới NSImage

Trả lời

0

Để chuyển đổi bộ đệm thành hình ảnh, trước tiên bạn cần chuyển đổi bộ đệm thành CIImage, sau đó có thể được chuyển đổi thành NSImage.

let ciImage = CIImage(cvImageBuffer: pixelBuffer) 

let context = CIContext(options: nil) 

Từ đây bạn có thể vào cả GCImageNSImage:

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)) 
Các vấn đề liên quan