getDrawingCache不适用于LibGdx

时间:2013-06-27 09:21:37

标签: android bitmap libgdx

我想使用Android getDrawingCache拍摄我的游戏视图的屏幕截图。

但我得到的只是一张空白图像。

我知道LibGDX提供了自己的用于拍摄ScreenShots的类。

但是为什么这个方法不能用于LibGDX视图。我检查了所有其他视图,它运行正常。

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    gameView=initializeForView(new TalkingFriendApp(this), cfg);
gameView.setDrawingCacheEnabled(true);

}

public void takeScreenShot()
{
 Bitmap b=gameView.getDrawingCache();
 b.writeBitmapToFile("dance/abc.png");
}

writeBitmapToFile(String path)是我用来将Bitmap写入存储驱动器的函数。

1 个答案:

答案 0 :(得分:3)

SurfaceView - 并且,作为扩展,GLSurfaceView(LibGDX使用) - 不支持getDrawingCache(),因为它不会在普通视图系统中绘制。

请参阅Google网上论坛中的此主题获取解释:

https://groups.google.com/forum/?fromgroups#!topic/android-platform/xHIActZZ9PA