How to get front and back camera's megapixel that is designed for android device?

无人久伴 提交于 2019-12-01 09:06:45

I got megapixel by combining three different answers of stack overflow friends.

                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();

For obtaining megapixel, (Biggest Width x Height) / 1024000 = Megapixel

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!