屏幕截图和相机预览不能同时工作
Screenshot and camera preview not working at same time
这张左边的图片显示了点击任何按钮之前的应用程序。我使用 camera2 google github 示例将背景设为相机预览。右边的照片是我点击拍照按钮时的照片。图片不显示!屏幕截图和相机不能同时工作吗?另外我应该如何摆脱出现在顶部的黑条?任何帮助,将不胜感激。可能在截图之前锁定相机的焦点??
private void takePicture() {
if (picturePresent == false) {
edit_button.setVisibility(View.INVISIBLE);
pictureBitmap = getBitmapFromView();
edit_button.setVisibility(View.VISIBLE);
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), pictureBitmap);
outer_backround.setBackground(bitmapDrawable);
picturePresent = true;
} else {
}
}
public Bitmap getBitmapFromView() {
View v1 = getActivity().getWindow().getDecorView().getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap,(int) outer_backround.getX(), (int) outer_backround.getY(), outer_backround.getWidth(), outer_backround.getHeight());
return bitmap;
}
您无法从相机预览表面获取 DrawingCache。
您必须从 glsurface 读取像素,或获取帧。
看这个例子:
这张左边的图片显示了点击任何按钮之前的应用程序。我使用 camera2 google github 示例将背景设为相机预览。右边的照片是我点击拍照按钮时的照片。图片不显示!屏幕截图和相机不能同时工作吗?另外我应该如何摆脱出现在顶部的黑条?任何帮助,将不胜感激。可能在截图之前锁定相机的焦点??
private void takePicture() {
if (picturePresent == false) {
edit_button.setVisibility(View.INVISIBLE);
pictureBitmap = getBitmapFromView();
edit_button.setVisibility(View.VISIBLE);
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), pictureBitmap);
outer_backround.setBackground(bitmapDrawable);
picturePresent = true;
} else {
}
}
public Bitmap getBitmapFromView() {
View v1 = getActivity().getWindow().getDecorView().getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap,(int) outer_backround.getX(), (int) outer_backround.getY(), outer_backround.getWidth(), outer_backround.getHeight());
return bitmap;
}
您无法从相机预览表面获取 DrawingCache。
您必须从 glsurface 读取像素,或获取帧。
看这个例子: