Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android屏幕截图问题_Android_Opengl Es_Screenshot - Fatal编程技术网

Android屏幕截图问题

Android屏幕截图问题,android,opengl-es,screenshot,Android,Opengl Es,Screenshot,我在屏幕上有一个图像,我在图像上使用了ontouch listener,这样用户可以通过手指触摸旋转和缩放图像。通过手指触摸完成图像修改后,用户必须单击按钮继续操作。单击按钮后,我想通过编程拍摄屏幕快照,以便将修改后的图像保存为位图。如何拍摄当前屏幕截图?OpenGL是解决这个问题的解决方案吗?如果是,我如何获取GL10对象OnClickListener有两种方法可以实现您想要的功能: 首先,尝试保存视图的“屏幕截图”。通过使用drawingcache,您可以在Android中的每个视图上轻松实

我在屏幕上有一个图像,我在图像上使用了
ontouch listener
,这样用户可以通过手指触摸旋转和缩放图像。通过手指触摸完成图像修改后,用户必须单击按钮继续操作。单击按钮后,我想通过编程拍摄屏幕快照,以便将修改后的图像保存为位图。如何拍摄当前屏幕截图?OpenGL是解决这个问题的解决方案吗?如果是,我如何获取GL10对象
OnClickListener

有两种方法可以实现您想要的功能:

首先,尝试保存视图的“屏幕截图”。通过使用drawingcache,您可以在Android中的每个视图上轻松实现这一点:

myView.setDrawingCacheEnabled(true);
Bitmap myScreenshot = myView.getDrawingCache();

另一种解决方案,我认为最好的方法是,每次用手指对图像进行更新时,都将其添加到变换矩阵中。最后,再次应用到源位图。因此,您将获得最佳质量的结果。

我们已经尝试过getDrawingCache()。getDrawingCache()提供修改前屏幕的原始状态。所以它对我们不起作用。对于第二个解决方案,您能给出一些代码示例吗?OpenGL对于这个问题没有用处