1

我正在开发一个不使用内置意图的 android 自定义相机应用程序。我正在使用下面的代码进行表面更改

    public void surfaceChanged(SurfaceHolder sHolder, int format, int width, int height)
    {
        if (isPreview)
        {
           try
           {
                camera.stopPreview();
                isPreview = false;
           }
           catch (Exception e)
           {
            Log.e(TAG, "surfaceChanged", e);
           }
       }

       try
       {
              Camera.Parameters p = camera.getParameters();
              p.setPreviewSize(surface.getWidth(), surface.getHeight());
              camera.setParameters(p);

       }
       catch (Exception e)
       {
             Log.e(TAG, "surfaceChanged", e);
       }


       try
       {
               camera.setPreviewDisplay(holder);
       } 
       catch (IOException e)
       {
               e.printStackTrace();
       }
         camera.startPreview();
         isPreview = true;

     }

但是在我的自定义相机应用程序中使用上述代码后,与内置相机应用程序相比,图像分辨率非常低,尽管我没有在我的代码中明确设置任何分辨率。没有找到我要去的地方!请帮忙!谢谢!

4

1 回答 1

2

使用getSupportedPictureSizes()onCamera.Parameters查找所需的大小,或使用该信息填充 ListView 或 Spinner

看看这个......它肯定会帮助你

于 2013-10-18T05:53:50.120 回答