拍摄混合了UIKit和OpenGL的iPhone应用程序的屏幕截图

时间:2010-07-29 16:55:06

标签: iphone graphics uikit opengl-es screenshot

所以,我知道如何用UIKit截取屏幕截图:

UIWindow *window = [[[UIApplication sharedApplication] delegate] window];
UIGraphicsBeginImageContext(window.bounds.size);
[window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

我知道如何使用OpenGL截取屏幕截图

// Some preparation to read pixels into a buffer
glReadPixels(0,0,backingWidth, backingHeight, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
// Some code to massage the raw pixel data into an image

我的应用程序混合了OpenGL和UIKit,因此使用一种方法拍摄的任何截图看起来都不正确。

什么是最好的方法 a)将两个图像合成或组合在一起 b)截取可以同时捕获OpenGL和UIKit的屏幕截图

1 个答案:

答案 0 :(得分:0)

This是一个类似的帖子,有一些答案。显然,您可以使用UIGetScreenImageglReadPixels来执行此任务。希望有所帮助!