我正在尝试使用 ARCore 从 ARSession 的当前帧获取位图。但它始终等于 null。我已经在网上搜索了一段时间,但无法弄清楚我做错了什么。
try {
capturedImage = mFrame.acquireCameraImage();
ByteBuffer buffer = capturedImage.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.capacity()];
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length,null);
if (bitmap == null)
Log.e(TAG,"Bitmap was NOT initialized!");
} catch(Exception e){
}
Run Code Online (Sandbox Code Playgroud)
我正在mFrame从onDrawFrame我GLSurfaceView用来显示相机图像的地方获取信息。一切工作正常,除了我的位图等于空。
我使用的是按钮,因此只使用了一个框架,如下所示:
scanButton = (Button) findViewById(R.id.scanButton);
scanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
checkbox = false;
if (capturedImage!=null) capturedImage.close();
BitmapMethod();
}
});
Run Code Online (Sandbox Code Playgroud)
capturedImage,buffer并且bytes全部不等于 null。
可能有什么问题吗mFrame.acquireCameraImage()?
多谢