gpt4 book ai didi

java - Galaxy S4 Android 自定义相机问题

转载 作者:行者123 更新时间:2023-11-30 08:57:07 25 4
gpt4 key购买 nike

我正在开发一款带有自定义相机的应用。在摩托罗拉 Moto G 中一切正常,但当我尝试保存由 Galaxy S4 拍摄的照片时,出现以下问题:

enter image description here

CameraSurface.java

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Size previewSize = determinePreviewSize(true, width, height);
Camera.Parameters parameters = camera.getParameters();

camera.setDisplayOrientation(90);


parameters.setPreviewSize(previewSize.width, previewSize.height);


List<Camera.Size> sizes = parameters.getSupportedPictureSizes();
Camera.Size size = sizes.get(0);
for (int i = 0; i < sizes.size(); i++) {
if (sizes.get(i).width > size.width)
size = sizes.get(i);
}

parameters.setPictureSize(size.width,size.height);

parameters.set("display_mode","portrait");
camera.setParameters(parameters);
camera.startPreview();
}

最佳答案

我自己找到了上述问题的解决方案。

当您设置setPreviewSizesetPictureSize 时,它们必须具有相同的纵横比。如果您的方法 determinePreviewSize(true, width, height) 返回宽高比为 16:9 的尺寸,您需要将 PictureSize 设置为具有相同宽高比 16:9 的分辨率。

因此解决方案是实现一种方法,该方法从 getSupportedPictureSizes() 中选择与 determinePreviewSize(true, width, height) 给出的宽高比相匹配的最佳分辨率/p>

关于java - Galaxy S4 Android 自定义相机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28304792/

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