可能重复:
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
但是所有代码都会在模拟器中生成一个不在设备中的图像(在设备中只有黑色或白色)
答案 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);
}