Я получаю проблему с черной баром после захвата изображения. Во время захвата я вижу полный экран камеры, но после захвата я вижу проблему Black Bar. Похоже, что это проблема с разрешением, но изменение разрешения не помогло. : < /p>
Preview preview = new Preview.Builder()
.build();
CameraSelector cameraSelector = new CameraSelector.Builder()
.requireLensFacing(CameraSelector.LENS_FACING_BACK)
.build();
preview.setSurfaceProvider(previewView.getSurfaceProvider());
ImageCapture imageCapture =
new ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY)
.setTargetResolution(new Size(1280, 720))
.setTargetRotation(Surface.ROTATION_0)
.build();
mActivityCaptureImagesBinding.imbCapture.setOnClickListener(v -> {
imageCapture.takePicture(Runnable::run, new ImageCapture.OnImageCapturedCallback() {
@Override
public void onCaptureSuccess(ImageProxy imageProxy) {
bmpCaptured = mActivityCaptureImagesBinding.captureImageCameraPreview.getBitmap();
showHidePreviewScreen();
}
@Override
public void onError(ImageCaptureException exception) {
// Handle the exception however you'd like
Log.e(TAG_IMAGES_CAPTURE, "Exception while taking image : " + exception.getMessage());
}
});
});
// Attach use cases to the camera with the same lifecycle owner
camera = cameraProvider.bindToLifecycle(
(LifecycleOwner) this,
cameraSelector,
preview, imageCapture);
}
private void showHidePreviewScreen() {
try {
runOnUiThread(() -> {
mActivityCaptureImagesBinding.imvPreview.setImageBitmap(bmpCaptured);
mActivityCaptureImagesBinding.captureImageCameraPreview.setVisibility(View.GONE);
mActivityCaptureImagesBinding.imvPreview.setVisibility(View.VISIBLE);
});
} catch (Exception e) {
Log.e(TAG_IMAGES_CAPTURE, "Exception while showHidePreviewScreen : " + e.getMessage());
}
}
Я попытался изменить целевое разрешение на .SetTargetResolution (новый размер (4256, 2832)) Но все еще нет помощи.
Здесь Вы можете увидеть образец изображения.
Я получаю проблему с черной баром после захвата изображения. Во время захвата я вижу полный экран камеры, но после захвата я вижу проблему Black Bar. Похоже, что это проблема с разрешением, но изменение разрешения не помогло. : < /p> [code]Preview preview = new Preview.Builder() .build();
CameraSelector cameraSelector = new CameraSelector.Builder() .requireLensFacing(CameraSelector.LENS_FACING_BACK) .build();
mActivityCaptureImagesBinding.imbCapture.setOnClickListener(v -> { imageCapture.takePicture(Runnable::run, new ImageCapture.OnImageCapturedCallback() { @Override public void onCaptureSuccess(ImageProxy imageProxy) { bmpCaptured = mActivityCaptureImagesBinding.captureImageCameraPreview.getBitmap(); showHidePreviewScreen(); }
@Override public void onError(ImageCaptureException exception) { // Handle the exception however you'd like Log.e(TAG_IMAGES_CAPTURE, "Exception while taking image : " + exception.getMessage()); } });
}); // Attach use cases to the camera with the same lifecycle owner camera = cameraProvider.bindToLifecycle( (LifecycleOwner) this, cameraSelector, preview, imageCapture); }
} [/code] Я попытался изменить целевое разрешение на .SetTargetResolution (новый размер (4256, 2832)) Но все еще нет помощи. Здесь Вы можете увидеть образец изображения.