在我的 iPhone 应用程序中,我正在捕获设备的屏幕截图。在屏幕截图视图中,我有不同的视图与层层次结构,在底部是一个空白背景视图,然后在背景上是一个图像视图,在图像视图上是一个 EAGLView。我想用 EAGLView 的帧大小捕获设备的屏幕截图,它应该包括图像视图和背景视图。这是我的代码:
- (IBAction)captureScreen:(id)sender{
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.cameraAppView.layer renderInContext:UIGraphicsGetCurrentContext()]; // cameraAppView is the EAGLView
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRef imageRef = CGImageCreateWithImageInRect([viewImage CGImage], cameraAppView.frame);
UIImage *img = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
}
但现在我只获取 EAGLView 的屏幕截图,我想通过 EAGLView 帧大小获取设备的屏幕截图。我怎样才能做到这一点?
编辑
对不起,我错过了我的问题的一点。同一屏幕中还有一些其他子视图。但它们都是 EAGLView 的顶部。我想在 EAGLView 下方捕获视图的图像,包括 EAGLView 内容。