我使用表面视图打开相机。
MainActivity中的Imageview。 当我点击imageview相机打开时,我在surfaceview中单击textview(Capture)将图像保存到内存中并设置为imageview。
在这两个动作之间,我从用户确认捕获的图像是否正常(确定或取消)。
如果用户单击“确定”,则捕获的图像将设置为imageview。 如果用户单击取消,相机将再次打开。
该确认屏幕显示捕获的图像和两个按钮(确定和取消)
我在表面视图中打开相机的代码
<...>
Surfaceview布局
public Object getAdapter(Class required) {}
如何从surfaceview获取捕获图像的整个视图?
请帮助解决这个问题......
答案 0 :(得分:-1)
如果您想要获得所显示的SurfaceView像素的精确图像,可以使用以下方法:
/**
* Take a screenshot of the view
* @param view the view to capture
* @return the bitmap representing the pixels of the given view
*/
@Nullable
public static Bitmap loadBitmapFromView(View view) {
try {
view.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);
return bitmap;
} catch (OutOfMemoryError error){
TeadsLog.d(LOG_TAG, "Out of Memory while loadBitmapFromView");
return null;
}
}