我做下面让已被设置为GLSurfaceView
对象的位图图像:如何从GLSurfaceView得到位图图像
glView.setDrawingCacheEnabled(true);
glView.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
glView.layout(0, 0, glView.getMeasuredWidth(), glView.getMeasuredHeight());
glView.buildDrawingCache(true);
Bitmap tmpbm = Bitmap.createBitmap(glView.getDrawingCache());
glView.setDrawingCacheEnabled(false);
但glView.getDrawingCache()
正在恢复我null
在上述情况下,和因此它在行中崩溃Bitmap tmpbm = Bitmap.createBitmap(glView.getDrawingCache());
为什么我从那里变为空,以及如何解决此问题?另外,是否有不同的/更好的方式来实现我的目标?任何帮助将不胜感激。
见http://stackoverflow.com/questions/27817577/android-take-screenshot-of-surface-view-shows-black-screen 。只要你从'onDrawFrame()'调用它,@Helmi答案中的代码应该工作。 – fadden