作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试添加一个屏幕截图按钮,用于捕获 ARCore 相机 View 的屏幕截图,包括附加的节点。
我尝试了几种不同的方法,所有方法都能够捕获屏幕上的其他内容,但 ARSceneView 始终是透明的。
我尝试过的事情:
ArFragment arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
View view = arFragment.getARSceneView(); //Also tried arFragment.getView();
(1)
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);
(2)
Bitmap bitmap = getBitmapFromView(view);
public Bitmap getBitmapFromView(View view) {
view.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
view.buildDrawingCache();
Bitmap returnedBitmap = Bitmap.createBitmap(view.getMeasuredWidth(), view.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(returnedBitmap);
Drawable drawable = view.getBackground();
if (drawable != null)
drawable.draw(canvas);
view.draw(canvas);
return returnedBitmap;
}
我也知道你可以从ARFragment获取图像,但它返回一个空白的透明图像
Image image = arFragment.getArSceneView().getArFrame().acquireCameraImage();
//image is completely transparent and wrong size
最佳答案
您可以使用 PixelCopy.request()
ArSceneView view = fragment.getArSceneView();
final Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
PixelCopy.request(view, bitmap, (copyResult) -> {
if (copyResult == PixelCopy.SUCCESS) {
// Save bitmap
} else {
// Error
}
}, handler);
关于java - ARCore ArSceneView 捕获位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57275235/
我目前正在制作一个使用图像跟踪的 AR 应用程序。我希望它在引用图像文件夹中有 2 个图像(图像 A:~670x210,图像 B:~1123x794)。 如何检查相机正在检测哪张图像?例如,如果相机看
我正在尝试添加一个屏幕截图按钮,用于捕获 ARCore 相机 View 的屏幕截图,包括附加的节点。 我尝试了几种不同的方法,所有方法都能够捕获屏幕上的其他内容,但 ARSceneView 始终是透明
我是一名优秀的程序员,十分优秀!