我想使用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写入存储驱动器的函数。
答案 0 :(得分:3)
SurfaceView
- 并且,作为扩展,GLSurfaceView
(LibGDX使用) - 不支持getDrawingCache()
,因为它不会在普通视图系统中绘制。
请参阅Google网上论坛中的此主题获取解释:
https://groups.google.com/forum/?fromgroups#!topic/android-platform/xHIActZZ9PA