如何在活动中获取设备的相机分辨率? (Android)

时间:2016-11-14 14:25:04

标签: android android-camera resolution

我想在我的活动中使用前后摄像头分辨率,这样我就可以区分图像(无论是通过检查分辨率从背面还是前置摄像头拍摄)。

1 个答案:

答案 0 :(得分:0)

            Camera camera=Camera.open(0);    // For Back Camera
        android.hardware.Camera.Parameters params = camera.getParameters();
        List sizes = params.getSupportedPictureSizes();
        Camera.Size  result = null;

        ArrayList<Integer> arrayListForWidth = new ArrayList<Integer>();
        ArrayList<Integer> arrayListForHeight = new ArrayList<Integer>();

        for (int i=0;i<sizes.size();i++){
            result = (Size) sizes.get(i);
            arrayListForWidth.add(result.width);
            arrayListForHeight.add(result.height);
            Log.debug("PictureSize", "Supported Size: " + result.width + "height : " + result.height);  
            System.out.println("BACK PictureSize Supported Size: " + result.width + "height : " + result.height);  
        } 
        if(arrayListForWidth.size() != 0 && arrayListForHeight.size() != 0){
            System.out.println("Back max W :"+Collections.max(arrayListForWidth));              // Gives Maximum Width
            System.out.println("Back max H :"+Collections.max(arrayListForHeight));                 // Gives Maximum Height
                        System.out.println("Back Megapixel :"+( ((Collections.max(arrayListForWidth)) * (Collections.max(arrayListForHeight))) / 1024000 ) );
        }
        camera.release();

        arrayListForWidth.clear();
        arrayListForHeight.clear();

        camera=Camera.open(1);        //  For Front Camera
        android.hardware.Camera.Parameters params1 = camera.getParameters();
        List sizes1 = params1.getSupportedPictureSizes();
        Camera.Size  result1 = null;
        for (int i=0;i<sizes1.size();i++){
            result1 = (Size) sizes1.get(i);
            arrayListForWidth.add(result1.width);
            arrayListForHeight.add(result1.height);
            Log.debug("PictureSize", "Supported Size: " + result1.width + "height : " + result1.height);  
            System.out.println("FRONT PictureSize Supported Size: " + result1.width + "height : " + result1.height);  
        } 
        if(arrayListForWidth.size() != 0 && arrayListForHeight.size() != 0){
            System.out.println("FRONT max W :"+Collections.max(arrayListForWidth));
            System.out.println("FRONT max H :"+Collections.max(arrayListForHeight));
                        System.out.println("FRONT Megapixel :"+( ((Collections.max(arrayListForWidth)) * (Collections.max(arrayListForHeight))) / 1024000 ) );
        }

        camera.release();
相关问题