在我的应用程序中,我通过带有叠加视图的相机拍摄照片。在叠加视图中,有一个自定义按钮,我想通过它捕获整个屏幕。在我想要捕获图像的某些点上,透明视图是透明的。我是这样做的:
- (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);
}
它正在捕捉叠加视图的图像,但是在摄影机视图(叠加层是透明的视图,我想在那里显示摄像机视图),它正在捕捉黑色而不是照片。有人请告诉我,我做错了吗?
答案 0 :(得分:-1)
使用AVFoundationFramework来解决您的问题。
推荐此链接:http://code4app.net/ios/Camera-With-AVFoundation/5003cb1d6803fa9a2c000000
希望此链接对您有所帮助。
答案 1 :(得分:-1)
我发现屏幕截图是用叠加层捕捉摄像机视图的东西之一。但是我没有在屏幕捕获的视频中获得预览图层(以防视频录制)。查看MyAVControllerDemo代码以获得清晰的想法,我使用IAScreenCaptureView来捕获视频或简单快照。现在工作正常。