显示实时视频流,但无法通过UIGraphicsGetCurrentContext捕获图像?

时间:2011-08-15 02:47:50

标签: iphone image avfoundation capture

我使用AVCaptureVideoPreviewLayer来显示实时视频流,如下所示:

AVCaptureSession *captureSession = yourcapturesession;
previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:captureSession];
UIView *aView = theViewYouWantTheLayerIn;
previewLayer.frame = aView.bounds;
[aView.layer addSublayer:previewLayer];

然后我用它来捕捉图像。我得到一个UIImage对象,但图像是黑色的:

UIGraphicsBeginImageContext(self.previewLayer.bounds.size);
[self.previewLayer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSLog("%@",image);

这里有什么问题?

1 个答案:

答案 0 :(得分:1)

尝试这样做,结果相同 - 没有图像。

我认为答案是它只是不可行,因为它并没有真正将RGB图像移交给上下文,只是“通过视口显示”或类似的东西,如果这是有道理的。