当任何游戏与opengl一起运行时,我想要捕获屏幕

时间:2013-01-17 04:39:16

标签: iphone opengl-es

  

可能重复:
  Why is glReadPixels() failing in this code in iOS 6.0?

我正在使用OpenGL开发游戏,需要在拍摄最佳照片时进行屏幕截图并上传Facebook,但是当我拍摄屏幕时它只有黑屏。我所做的 ? 我还在链接中使用代码: take screen Programmatically of UIview+glview 和类似的代码 但没有成功。

我正在起诉代码:http://developer.apple.com/library/ios/#qa/qa1704/_index.html

但是所有代码都会在模拟器中生成一个不在设备中的图像(在设备中只有黑色或白色)

2 个答案:

答案 0 :(得分:0)

如果您想拍摄屏幕截图,请尝试使用该代码&检查:

    CGRect screenRect = [[UIScreen mainScreen] bounds];
    UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 0.0);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

答案 1 :(得分:0)

试试这个会截取视图截图并保存到设备相册中。

-(IBAction)captureScreen:(id)sender
{
    UIGraphicsBeginImageContext(self.view.bounds.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
        UIImage *snapImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    UIImageWriteToSavedPhotosAlbum(snapImage, nil, nil, nil);
}