小编use*_*441的帖子

Android相机预览尺寸问题

我的应用程序使用表面支架打开相机.相机将以默认预览尺寸打开.在某些设备上,默认预览大小会捕获比屏幕上实际可见的图像更多的图像.为了避免这种情况,我开始自己设置预览大小.标准是从可用的尺寸列表中选择预览尺寸,该尺寸最接近屏幕的宽度.

这在大多数情况下效果很好.但我经常偶然发现一些不喜欢我选择的预览尺寸的设备.

1)Nexus 4没有捕获我选择的预览尺寸之一的图像.2)Samsung S 4沿拍摄的图像提供线条(噪声).

所以我想了解我是否正在做任何违反标准的事情.以下是我的问题: -

1)我正在使用表面支架打开相机.有没有其他方法可以在我的应用程序中使用相机硬件.

2)我从可用尺寸列表中选择预览尺寸.在选择任何尺寸之前,我应该寻找哪些具体的东西?选择尺寸的逻辑如下: -

private Camera.Size getBestPreviewSize(int width, int height)
    {
        List<Size> sizes = camera.getParameters().getSupportedPreviewSizes();
        if (sizes == null) return null;

        Size optimalSize = null;
        double minDiff = Double.MAX_VALUE;

        int targetHeight = height;
        int targetWidth = width;

        int minWidthDiff = 0;
        if (optimalSize == null) {
            minDiff = Double.MAX_VALUE;
            for (Size size : sizes) {
                if (Math.abs(size.width - targetWidth) < minDiff) {
                    if(size.width > width) {
                        if (minWidthDiff == 0) {
                            minWidthDiff = …
Run Code Online (Sandbox Code Playgroud)

size camera android preview

5
推荐指数
1
解决办法
5567
查看次数

标签 统计

android ×1

camera ×1

preview ×1

size ×1