以编程方式截屏无法正常工作

3
我正在做这件事:但我总是得到一张白色图片。 有谁知道为什么吗?
- (void) screenshotButtonAction{
    UIGraphicsBeginImageContext(self.view.bounds.size);
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
}

self是一个UIViewController,它持有一个OpenGL视图(UIView + CAEAGLLayer)。

编辑: 我已经意识到只有gl视图没有被截屏。 奇怪的是,gl视图的子视图和子层显示正常,但是OpenGL视图在拍摄的图片中是白色的。这可能与当前上下文有关吗?
这是一个AR应用程序,gl视图显示相机输入+ AR对象,因此gl视图始终在被渲染(刷新) 这里可能发生了什么?

1个回答

1
代码看起来不错。确保您已经添加了QuartzCore.framework并在.m文件中导入它。
#import <QuartzCore/QuartzCore.h>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接