【问题标题】:How to make a resolution independent camera preview on android?如何在android上进行分辨率无关的相机预览?
【发布时间】:2011-05-28 13:43:44
【问题描述】:

我正在制作一个使用手机摄像头的 android 1.6 应用。

为了使这个应用程序的分辨率独立,我需要设置一个兼容的纵横比,以便在 SurfaceLayout 上预览相机。在 1.6 sdk 中,无法获得支持的相机预览尺寸。可以使用 4:3 或 3:2 的纵横比并且不会出现错误吗?

另一方面,我需要一种方法来制作一个 xml 布局,该布局在每个分辨率下以这个(未知)纵横比表示这个 Surfacelayout。我假设不可能在运行时更改 SurfaceLayout 大小。我可以用“dp”单位来做吗?另一种方式是以编程方式制作此布局?

有一些应用程序,如 Vignette 或 android 相机应用程序,有一些技巧可以制作类似的东西,比如黑条(小插图)或固定按钮栏,但我不知道如何在任何分辨率下做到这一点。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: android layout camera resolution aspect-ratio


    【解决方案1】:

    在 1.6 sdk 中,无法获得支持的相机预览尺寸。

    有。您可以在解析preview-size-values相机参数时获取它们。

    String supportedSizesString = parameters.get("preview-size-values");
    List<Size> supportedSizes = new ArrayList<Size>();
    if (supportedSizesString != null && supportedSizesString.length() > 0) {
        StringSplitter ss = new TextUtils.SimpleStringSplitter(',');
        ss.setString(supportedSizesString);
        for (String supportedSize : ss) {
            String[] dimentions = supportedSize.split("x");
            if (dimentions.length > 1) {
                Size size = mCamera.new Size(Integer.parseInt(dimentions[0]),
                Integer.parseInt(dimentions[1]));
                supportedSizes.add(size);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多