gpt4 book ai didi

Android CameraSource 对多种设备的工作方式不同并且不会旋转图像

转载 作者:行者123 更新时间:2023-11-29 01:21:48 26 4
gpt4 key购买 nike

我有两个安卓设备。 CameraSource 对他们的工作方式不同。对于一台设备,照片的方向在保存后没有旋转是正确的。但是对于另一台设备,保存的照片方向错误。

我已经创建了 CameraSource:

source = new CameraSource.Builder(context, detector)
.setRequestedPreviewSize(640, 480)
.setFacing(cameraId)
.setRequestedFps(30.0f)
.setAutoFocusEnabled(真)
.build();

我已经创建了带有 Action 的按钮:

source.takePicture(null, new CameraSource.PictureCallback() {
@覆盖
public void onPictureTaken(byte[] bytes) {
文件夹 = PhotoUtils.getGalleryFolder();
writeFileIntoDevice(bytes, folder.getAbsolutePath());
}
});

private String writeFileIntoDevice(byte[] data, String path) {
Bitmap orignalImage = BitmapFactory.decodeByteArray(data, 0, data.length);

SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd_hhmmss");
String fileName = formatter.format(new Date());

File file = new File(path, fileName + ".jpg");

try (FileOutputStream stream = new FileOutputStream(file)) {
orignalImage.compress(Bitmap.CompressFormat.JPEG, 80, stream);
Log.i(PhotoCreator.class.getName(), "photo was saved to " + path);
} catch (Exception e) {
Log.e(PhotoCreator.class.getName(), "can't save photo", e);
}

return file.getAbsolutePath();
}

照片在设备上的方向不同,我尝试在保存后旋转位图但没有成功。

我试过这个:Controlling the camera to take pictures in portrait doesn't rotate the final images

还有这个:Android camera resulted image should be rotated after the capture?

如何为所有设备正确旋转图像?

最佳答案

使用两种不同的设备,我得到两种不同的结果。我刚刚启动相机。使用一台设备,我可以正确获得视频预览,使用另一台设备,我可以获得顺时针旋转 90 度的视频预览。我的应用在 Android 平板电脑上是横向的。

我没有找到解决此相机旋转问题的任何解决方案。

    cameraView = (SurfaceView)findViewById(R.id.cameraView);

barcodeDetector = new BarcodeDetector.Builder(this)
.setBarcodeFormats(Barcode.QR_CODE)
.build();

cameraSource = new CameraSource
.Builder(this, barcodeDetector)
.setAutoFocusEnabled(true)
.setRequestedFps(60)
.setRequestedPreviewSize(640, 480)
.setFacing(CameraSource.CAMERA_FACING_FRONT)
.build();

cameraSource.start(holder);

关于Android CameraSource 对多种设备的工作方式不同并且不会旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36390431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com