Волнует, как использовать CameraX takePicture (OnImageCapturedListener), чтобы получить изображение буфера в памяти - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь позволить Flutter использовать CameraX, чтобы делать снимки с помощью буфера в памяти, а не сохранять на диск.
В CameraX ImageCapture.Java я нашел этот фрагмент

// Wrap the ImageCapture.OnImageSavedListener with an OnImageCapturedListener so it can
// be put into the capture request queue
OnImageCapturedListener imageCaptureCallbackWrapper =
        new OnImageCapturedListener() {
            @Override
            public void onCaptureSuccess(ImageProxy image, int rotationDegrees) {
                Handler completionHandler = (mHandler != null) ? mHandler : mMainHandler;
                CameraXExecutors.ioExecutor()
                        .execute(
                                new ImageSaver(
                                        image,
                                        saveLocation,
                                        rotationDegrees,
                                        metadata.isReversedHorizontal,
                                        metadata.isReversedVertical,
                                        metadata.location,
                                        imageSavedListenerWrapper,
                                        completionHandler));
            }

            @Override
            public void onError(
                    UseCaseError error, String message, @Nullable Throwable cause) {
                imageSavedListener.onError(error, message, cause);
            }
        };

Пример касается предварительного просмотра камеры
Как использовать Intent в CameraX Core с буфером изображения в памяти?

    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image));     
    => change to   
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, InMemoryBuffer); 
    startActivityForResult(takePictureIntent, REQUEST_TAKE_IMAGE);

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...