Вы можете захватить текущий ARFrame, используя следующий публичный метод :
public Image acquireCameraImage()
Этот метод позволяет вам получить изображение с камеры, которое соответствует текущему кадру и возвращает Androidimage object
, который содержит данные изображения с камеры.Формат возвращаемого объекта изображения: AIMAGE_FORMAT_YUV_420_888 .
Для представления, содержащего трехмерные объекты Sceneform, используйте метод getScreenShot()
:
public static Bitmap getScreenShot(View view) {
View screenView = view.getRootView();
screenView.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache());
screenView.setDrawingCacheEnabled(false);
return bitmap;
}
... или используйте этот:
fun onCameraClick(buffer: ByteBuffer, width : Int, height: Int): Bitmap {
buffer.rewind()
val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)
bitmap.copyPixelsFromBuffer(buffer)
return bitmap
}