iPhone:使用叠加视图捕获iOS相机

时间:2013-11-30 11:10:40

标签: ios objective-c camera uiimagepickercontroller

在我的应用程序中,我通过带有叠加视图的相机拍摄照片。在叠加视图中,有一个自定义按钮,我想通过它捕获整个屏幕。在我想要捕获图像的某些点上,透明视图是透明的。我是这样做的:

    - (IBAction)captue:(id)sender
    {
        [self setBackgroundColor:[UIColor clearColor]];        
        UIGraphicsBeginImageContext(self.frame.size);
        [self.layer.presentationLayer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
    }

它正在捕捉叠加视图的图像,但是在摄影机视图(叠加层是透明的视图,我想在那里显示摄像机视图),它正在捕捉黑色而不是照片。有人请告诉我,我做错了吗?

2 个答案:

答案 0 :(得分:-1)

使用AVFoundationFramework来解决您的问题。

推荐此链接:http://code4app.net/ios/Camera-With-AVFoundation/5003cb1d6803fa9a2c000000

希望此链接对您有所帮助。

答案 1 :(得分:-1)

我发现屏幕截图是用叠加层捕捉摄像机视图的东西之一。但是我没有在屏幕捕获的视频中获得预览图层(以防视频录制)。查看MyAVControllerDemo代码以获得清晰的想法,我使用IAScreenCaptureView来捕获视频或简单快照。现在工作正常。