如何在android中查找相机分辨率和宽高比

问题描述 投票:0回答:1

我想在列表视图中获得支持的相机分辨率预览尺寸和长宽比,就像我在图片中所示。目前,我正在执行此操作,仅向我显示分辨率宽度和高度的列表,但我也想显示宽高比。

public void find_camera_resolution()
  {
    Camera mCamera = Camera.open();
    Camera.Parameters params = mCamera.getParameters();

    List<Camera.Size> sizes = params.getSupportedPreviewSizes();
    int widths[] = new int[params.getSupportedPreviewSizes().size()];
    int heights[] = new int[params.getSupportedPictureSizes().size()];

    Camera.Size mSize;
    for (Camera.Size size : sizes) {
        Toast.makeText(this,"Available resolution: "+widths.length+" "+size.height,Toast.LENGTH_LONG).show();
        mSize = size;
    }
}

但是我想这样在图片enter image description here中显示

android android-camera android-camera2
1个回答
0
投票

长宽比就是分辨率的比率。因此,您(仅)需要找到宽度和高度的Greatest Common Divisor,将两个值除以除数,然后得出比率。

例如1600x720-> GCD:80-> 1600/80:20、720 / 80:9->高宽比:20:9

[有很多现有的算法可以解决最常见的公约数问题,并且已经存在一些可以使用的实现。

© www.soinside.com 2019 - 2024. All rights reserved.