0

我正在尝试使用以下代码将 GLSurfaceView 渲染为 JPEG:

FileOutputStream image = FileIO.getInstance().writeFile("racesow/test" + this.frameNum +" .jpg"); // creates an ouputstream in external storage directory
Bitmap bitmap = Bitmap.createBitmap(640, 480, Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(bitmap);
this.game.glView.draw(canvas); // glView is the GLSurfaceView
bitmap.compress(Bitmap.CompressFormat.JPEG, 85, image);
image.flush();
image.close();

在将完整场景渲染到表面视图后,我正在执行此代码。正在创建图像,但它们都是黑色的。有任何想法吗?

4

1 回答 1

1

这只是没有实现(SurfaceView.draw'1GLSurfaceView)。在使用 OpenGL 时截取屏幕截图需要特殊处理,但该draw方法在GLSurfaceView.

但是,由于它是一个开放类,您可以从它派生并添加您自己的draw定义代码实现来截取屏幕截图;或者任何最适合你的。

于 2012-04-22T04:39:02.737 回答