android - Samsung Galaxy S4,从相机拍摄时图像损坏

标签 android android-layout galaxy samsung-mobile

我在我的应用程序上使用相机。相机甚至在三星 S3 之前的所有设备上都能完美运行。来自所有其他设备的图像都是正确的。

从 S4 拍摄图像时,图像被损坏,图像被保存时带有一些水平线。

我尝试更改分辨率和所有内容,但问题仍然存在。

任何帮助enter image description here

最佳答案

我一直在为这个问题烦恼,我想我发现了问题,至少在我的应用程序方面 - 它与预览图像与捕获图像的纵横比有关。

在我的例子中,我的代码根据屏幕的纵横比嗅探出理想的预览尺寸。 S4 是 1080p 手机,因此预览图像为 1920x1080,宽高比为 16:9。但是我的代码被硬编码为捕获 1600x1200 的图像,即 4:3,因为这就是我所需要的。但是 1600x1200 不是 S4 支持的有效尺寸之一。

在不设置尺寸的情况下,S4拍摄的是最大尺寸4128x3096,比例为4:3,但还是出现了线条。一旦我告诉相机拍摄一张 16:9 的照片,线条就消失了。在您的情况下,您可能想要调整预览的纵横比。

这里有一些代码可以告诉您可用的尺寸。

    List<Camera.Size> previewSizes = p.getSupportedPreviewSizes();

    int i = 1;

    for (Size previewSize : previewSizes) {
        Log.v("DebugCamera", "previewSize " + i++ + " width: " + previewSize.width + " height: " + previewSize.height);
    }

关于android - Samsung Galaxy S4,从相机拍摄时图像损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141621/

相关文章:

android - 获取文件的最后修改日期

android - RecyclerView 中的复选框选择重复

android - 如果它是在其父级之外绘制的,是否可以检测到 View 点击?

android - Android 应用程序的图像大小

android - setuid 在 Galaxy s4 上因 PermissionDenied 失败

三星 Galaxy 变体上的 Android opengl 白色纹理

android - 如何在 Flutter 中显示 Android Activity?

android - 以编程方式将边距添加到 RelativeLayout

Galaxy Tab 上的 Android 打印 API

android - 从另一个 XML 首选项屏幕中引用单独的 Android 首选项屏幕