Reputation: 5895
I am getting black bar issue after capturing image. While capturing I can see full camera screen but after capturing I can see black bar issue. Seems to be issue with resolution but changing resolution did not help.
This issue is coming on android 14 and android 15.
Here is sample code:
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());
}
}
I tried to change target resolution to .setTargetResolution(new Size(4256, 2832))
but still no help.
Here you can see sample image.
Upvotes: 0
Views: 37