如何从使用安卓表面视图的视频和游戏中捕获屏幕截图



如果一个活动有表面视图,我的屏幕截图在表面视图区域将是黑色的,我该如何修复?谢谢。

为此,您需要做的是获取根视图并保存位图绘图缓存。

View v= getRootView();
v.setDrawingCacheEnabled(true);
v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
v.layout(0, 0, getMeasuredWidth(), getMeasuredHeight());
v.buildDrawingCache(true);
Bitmap bitmap =v.getDrawingCache();

File file = new File(Environment.getExternalStorageDirectory() + "/game_screen.png";);
try
{
    file.createNewFile();
    FileOutputStream output= new FileOutputStream(file);
    bitmap.compress(CompressFormat.PNG, 100, output);
    output.close();
}
catch (Exception e)
{
    e.printStackTrace();
}

试试这个。

最新更新