如何拍摄SurfaceView的快照?我做了一些研究,但我找不到解决方案。使用View拍摄快照效果很好,但使用SurfaceView会产生黑屏图像。
View v1 = surfaceview.getRootView();
(或)
View v1 = linearlayout.getRootView(); //linearlayout which holds surfaceview like linear.addView(surfaceViewObj);
v1.setDrawingCacheEnabled(true);
Bitmap bmp = v1.getDrawingCache();
FileOutputStream outStream = null;
String path = Environment.getExternalStorageDirectory() +"/myzoomSnap.jpg";
try {
outStream = new FileOutputStream(path);
bmp.compress(CompressFormat.JPEG, 100, outStream);
outStream.flush();
outStream.close();
} catch (FileNotFoundException e) {
Log.d("CAMERA", e.getMessage());
} catch (IOException e) {
Log.d("CAMERA", e.getMessage());
}
有些人提到,与其他视图不同,SurfaceView不会出现在窗口上。那么甚至可以拍摄SurfaceView的快照吗?