采取screeshot时,没有相机视图只是白色背景

时间:2015-06-26 13:16:26

标签: ios swift camera uiimage

我有一个实时摄像头视图,当我拍摄截图时,我只想将其中的一部分包含在圆形UIImage中。我得到的只是圆形UIImage和白色背景。 我将圆形图像称为circleImage,摄像机查看camView:

self.camView = self.faceImage.snapshotViewAfterScreenUpdates(false)
    UIGraphicsBeginImageContextWithOptions(self.circleImage.bounds.size, false, 0);
    self.circleImage.drawViewHierarchyInRect(self.camView.bounds, afterScreenUpdates: true)
    var image:UIImage = UIGraphicsGetImageFromCurrentImageContext()
    var imageData:NSData = UIImagePNGRepresentation(image)
    UIGraphicsEndImageContext();
    //Save it to the camera roll
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)

1 个答案:

答案 0 :(得分:0)

不幸的是需要的行为,没有办法使用renderInContextdrawViewHierarchy捕获AVCaptureVideoPreviewLayer的内容,唯一的解决方案似乎是从缓冲区委托中读取会话的数据输出,你需要一个从这里抓住它的图像 有关更多信息,请查看here,还有一个很好的替代解决方案。