OpenGL在Android NDK中保存屏幕截图

OpenGL在Android NDK中保存屏幕截图,android,c++,opengl-es,android-ndk,screenshot,Android,C++,Opengl Es,Android Ndk,Screenshot,我正在使用OpenGL和Android NDK在相机拍摄的图像上叠加一些信息。我现在需要在每次显示新信息时保存应用程序的屏幕截图 我找到了几个例子,说明C++中通常如何使用(没有Android),但是大多数解决方案似乎使用了各种各样的库,其中大多数似乎在Android上不可用或不可靠。我正在尝试将图像保存为PNG,但是现在保存为位图就可以了。是否使用SurfaceTexture进行相机预览?否则,您将面临一项艰巨的任务,需要单独获取预览帧。@AlexCohn我对这一点非常陌生,因此我不能完全确定

我正在使用OpenGL和Android NDK在相机拍摄的图像上叠加一些信息。我现在需要在每次显示新信息时保存应用程序的屏幕截图


<>我找到了几个例子,说明C++中通常如何使用(没有Android),但是大多数解决方案似乎使用了各种各样的库,其中大多数似乎在Android上不可用或不可靠。我正在尝试将图像保存为PNG,但是现在保存为位图就可以了。

是否使用SurfaceTexture进行相机预览?否则,您将面临一项艰巨的任务,需要单独获取预览帧。@AlexCohn我对这一点非常陌生,因此我不能完全确定我是否对代码有很好的理解。据我所知,我所拥有的是一个帧缓冲区,其中包含一个纹理,该纹理被发送到java中的GLSurfaceRenderer。哦,我再次阅读了你的问题-这张来自相机的图像是静态的,不是实时预览。这无疑让你的生活变得简单了许多。@AlexCohn我解决了这个问题,只需将原始数据写入一个文件,然后将该文件转换成我需要的文件。不是最好的事情,但是因为我的用户不需要很快的文件,我可以在java中有另一个线程读取原始文件并转换它。@ AlxChann OBTW它是一个相机的现场预览,只是我能负担得起足够低的帧率,你现在可以认为它是静态的。