以编程方式截取不起作用

时间:2011-01-23 20:51:10

标签: iphone cocoa-touch screen

我这样做:但我总是得到一张白色照片。 有谁知道为什么?

- (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对象,因此,glview始终被渲染(刷新) 这可能会发生什么?

1 个答案:

答案 0 :(得分:1)

代码看起来不错。确保已添加QuartzCore.framework并将其导入.m文件中。

#import <QuartzCore/QuartzCore.h>